Elasticsearch插件(一):ik分词

在Elasticsearch的对于中文的检索,ik效果最好也是使用最火的一款中文分词插件。支持自定义词库和动态修改词库。对于一般情况的的中文检索,ik分词是一个很好的选择。

安装

版本号要跟Elasticsearch版本对应。

手动安装:

1.在plugins文件夹中创建ik文件夹

    mkdir  ik

2.下载安装包:https://github.com/medcl/elasticsearch-analysis-ik/releases

3.解压到ik文件夹中(所有节点)

4.重启Elastic-search

自动安装:

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip

注意:命令中附带版本号。

配置

ik分词配置文件:IKAnalyzer.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict">finance.dic</entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <!-- <entry key="remote_ext_dict">words_location</entry> -->
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

热更新字典:

words_location就是指一个url,满足以下两点即可完成分词热更新。

1. 该 http 请求需要返回两个头部(header),一个是 Last-Modified,一个是 ETag,这两者都是字符串类型,只要有一个发生变化,该插件就会去抓取新的分词进而更新词库。

2. 该 http 请求返回的内容格式是一行一个分词,换行符用 \n 即可。

注意:

1. 请确保你的扩展词典的文本格式为 UTF8 编码,每个词以换行符相隔。

2. ik-5.0.0版本开始使用ik_smart 和 ik_max_word两种分词方式。

ik_max_word表示最细粒度拆分。优点是查询效果比较好。缺点是会产生很多碎片,对于大文本字段不建议使用ik_max_word。

ik_smart表示最粗粒度拆分,优点是降低了索引存储。缺点是查询效果不好。

两种分词方式举例:

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合。

ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。这个时候输入“中华”是匹配不到的。

使用示例:

        "content": {

          "type": "text",

          "analyzer": "ik_max_word",              ##索引分词

          "search_analyzer": "ik_max_word"。      ##查询分词

        },

更多:Elasticsearch深入理解专栏

——————————————————————————————————

作者:桃花惜春风

转载请标明出处,原文地址:  

https://blog.csdn.net/xiaoyu_BD/article/details/81778787

如果感觉本文对您有帮助,请留下您的赞,您的支持是我坚持写作最大的动力,谢谢!

猜你喜欢

转载自blog.csdn.net/xiaoyu_BD/article/details/81778787
今日推荐