2-分词器

分词器的作用是什么?

  ES在创建倒排索引时需要对文档分词;在用户搜索时,需要对用户输入内容分词。但默认的分词规则对中文处理并不友好。处理中文分词,一般会使用IK分词器。https://github.com/medcl/elasticsearch-analysis-ik

IK分词器有几种模式?

ik_smart:智能切分,粗粒度

ik_max_word:最细切分,细粒度

两种分词器示例

#测试分词器分词效果 ik_smart:最少切分   ik_max_word:最细切分
POST /_analyze
{
  "analyzer": "ik_smart",
  "text": "程序员学习java太玩好拉"
}

POST /_analyze
{
  "analyzer": "ik_max_word",
  "text": "程序员学习java太玩好拉"
}
View Code

IK分词器如何拓展词条?如何停用词条?

要拓展或者禁用ik分词器的词库,只需要修改一个ik分词器目录中的config目录中的IkAnalyzer.cfg.xml文件:

/var/lib/docker/volumes/es-plugins/_data/ik/config

打开,修改前

修改,添加需要读取的文件

 

stopword.dic文件已存在,无需创建

注意,里面应该一个词一行

注意修改好后需要重启elasticsearch

docker restart es

# 查看 日志

docker logs -f es

日志中已经成功加载ext.dic配置文件

posted @ 2022-07-24 10:02  JustJavaIt  阅读(113)  评论(0编辑  收藏  举报