ES中怎么添加 IK 分词器
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,ES中怎么添加 IK 分词器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.下载IK分词器,一定要注意和ES的版本一致
千家信息网最后更新 2025年01月24日ES中怎么添加 IK 分词器
ES中怎么添加 IK 分词器,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1.下载IK分词器,一定要注意和ES的版本一致
2 .下载之后放到 ES 的 \plugins 目录下面去 重启 ES 服务
测试:http://localhost:9200/blog1/_analyze
{ "text":"中华人民共和国MN","tokenizer": "ik_max_word"}
结果:
{ "tokens": [ { "token": "中华人民共和国", "start_offset": 0, "end_offset": 7, "type": "CN_WORD", "position": 0 }, { "token": "中华人民", "start_offset": 0, "end_offset": 4, "type": "CN_WORD", "position": 1 }, { "token": "中华", "start_offset": 0, "end_offset": 2, "type": "CN_WORD", "position": 2 }, { "token": "华人", "start_offset": 1, "end_offset": 3, "type": "CN_WORD", "position": 3 }, { "token": "人民共和国", "start_offset": 2, "end_offset": 7, "type": "CN_WORD", "position": 4 }, { "token": "人民", "start_offset": 2, "end_offset": 4, "type": "CN_WORD", "position": 5 }, { "token": "共和国", "start_offset": 4, "end_offset": 7, "type": "CN_WORD", "position": 6 }, { "token": "共和", "start_offset": 4, "end_offset": 6, "type": "CN_WORD", "position": 7 }, { "token": "国", "start_offset": 6, "end_offset": 7, "type": "CN_CHAR", "position": 8 }, { "token": "mn", "start_offset": 7, "end_offset": 9, "type": "ENGLISH", "position": 9 } ]}
ik_max_word 和 ik_smart 什么区别?
ik_max_word: 会将文本做最细粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌",会穷尽各种可能的组合,适合 Term Query;
ik_smart: 会做最粗粒度的拆分,比如会将"中华人民共和国国歌"拆分为"中华人民共和国,国歌",适合 Phrase 查询。
# 测试分词器GET _analyze{ "analyzer": "ik_smart", "text": "我爱你中国"}GET _analyze{ "analyzer": "ik_max_word", "text": "我爱你中国"}# 存储数据PUT /test3/_doc/1{ "name":"施爷", "age":13, "birth":"2020-07-05"}# 修改数据 (全部修改,birth没有会被删除)PUT /test3/_doc/1{ "name":"施爷222", "age":13}# 修改数据,只会修改name这个属性,别的不会变POST /test3/_doc/1/_update{ "doc":{ "name":"我是用post方式进行了修改" }}# 获取对象结构GET /test3# 通过id来获取文档GET /test3/_doc/1# 查看数据库中全部存储的统计信息GET _cat/indices?v# 删除数据DELETE /test3/_doc/1# 存储,跟新数据PUT /shiye/user/6{ "name":"shiye施爷成绩好", "age":30, "desc":"一看操作猛如虎,一战战绩0-5", "tags":["靓仔","旅游","爬山"]}# 通过id来查询数据GET /shiye/user/A001 # 通过名称搜索 GET /shiye/user/_search?q=name:shiye # 通过构建复杂查询,查询指定属性_source GET /shiye/user/_search { "query": { "match": { "name": "shiye" } }, "_source":["name","desc","age"] }# must查询 相当于 andGET /shiye/user/_search{ "query": { "bool": { "must": [ { "match": { "name": "shiye" } },{ "match": { "name": "施爷" } } ] } }}# should 查询,相当于orGET /shiye/user/_search{ "query": { "bool": { "should": [ { "match": { "name": "shiye" } },{ "match": { "name": "施爷" } } ] } }}# 加上 must+filter GET /shiye/user/_search{ "query": { "bool": { "must": [ { "match": { "name": "shiye" } } ], "filter": { "range": { "age": { "gte": 20, "lte": 40 } } } } }}# 查询 tags 中匹配到山的GET /shiye/user/_search{ "query": { "match": { "tags": "山" } }}#############测试 text,keyword ################ text 可以分词# keyword 不分词# 指定索引各个字段的创建规则PUT testdb{ "mappings": { "properties":{ "name":{ "type":"text" }, "desc":{ "type": "keyword" } } }}# 添加数据PUT testdb/_doc/2{ "name":"武松", "desc":"打老虎"}# 查询GET testdb/_search{ "query": { "match": { "desc": "军事" } }}#查询+高亮GET testdb/_search{ "query": { "match": { "name": "施" } }, "highlight": { "pre_tags": "", "post_tags": "
", "fields": {"name":{}} }}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
人民
共和国
中华
查询
数据
中华人民共和国
国歌
共和
存储
测试
人民共和国
华人
属性
我爱
我爱你
粒度
中华人民
中国
帮助
复杂
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
沈逸网络安全大会
服务器的服是几声
使用cnki等期刊数据库的感受
华为手机通话不能连接服务器
远程服务器怎么传vba文件
数据库如何改表格列名称
关于网络安全知识的题
影子数据库是什么
互联网科技名片设计
nas作为视频服务器
互联网科技公司还有希望吗
华为服务器进管理端口
珠海软件开发经理薪酬
漫画警示标语网络安全
ado连接数据库文件后缀
教育系统如何开展网络安全
云视觉网络技术
网络安全的基本要去
APP服务器防护
赛博数据库
如何连接本地服务器
电脑访问服务器出现丢包
计算机网络安全豆丁
新浪云服务器申请
大学生网络安全事件调查报告
网络安全与快递个人信息
数据库如何插入万级数据
中华少年英才数据库
福建计算机网络技术大专
oracle数据库白名单访问