ELK--Elasticsearch 安装 ik分词器 插件

                             ELK--Elasticsearch 安装 ik分词器 插件

分词

把一段文字的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作。
默认的中文分词是将每个字看成一个词,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。

  • Elasticsearch内置分词器
  • Standard - 默认分词器,按词切分,小写处理
  • Simple - 按照非字母切分(符号被过滤), 小写处理
  • Stop - 小写处理,停用词过滤(the,a,is)
  • Whitespace - 按照空格切分,不转小写
  • Keyword - 不分词,直接将输入当作输出
  • Patter - 正则表达式,默认\W+(非字符分割)
  • Language - 提供了30多种常见语言的分词器
  • Customer Analyzer 自定义分词器

ik分词器

IK有两种颗粒度的拆分:

  1. ik_smart: 会做最粗粒度的拆分
  2. ik_max_word: 会将文本做最细粒度的拆分

一、下载ik分词器

IK分词器的版本要你安装ES的版本一致

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.1/elasticsearch-analysis-ik-6.4.1.zip

二、解压并将文件复制到 es的安装目录/plugin/ik中

tar -xvf elasticsearch-analysis-ik-6.4.1.zip

文件结构 

三、重启ElasticSearch

四、测试效果

如果不符合预期,ik分词器支持自定义词库,例如我这里[诸葛小明]是一个人名,我可以自定义词库。

(1)在原有词库上改造,修改默认词库文件main.doc

(3)新词库文件:新增词库文件my.dic,往文件添加自己的分词,注意分行。然后修改ik/config目录下的IKAnalyzer.cfg.xml文件,改成自己的词库文件。

 <properties>
    <comment>IK Analyzer 扩展配置</comment>
    <!‐‐用户可以在这里配置自己的扩展字典 ‐‐>
    <entry key="ext_dict">my.dic</entry>
     <!‐‐用户可以在这里配置自己的扩展停止词字典‐‐>
    <entry key="ext_stopwords"></entry>
</properties>

改好之后重启es即可生效。

修改之后效果:

猜你喜欢

转载自blog.csdn.net/u014553029/article/details/106065465