内置分词器
ElasticSearch 核心功能就是数据检索,首先通过索引将文档写入 es。查询分析则主要分为两个步骤:
词条化:分词器将输入的文本转为一个一个的词条流。
过滤:比如停用词过滤器会从词条中去除不相干的词条(的,嗯,啊,呢);另外还有同义词过滤器、小写过滤器等。
ElasticSearch 中内置了多种分词器可以供使用。
中文分词器
在 Es 中,使用较多的中文分词器是 elasticsearch-analysis-ik,这个是 es 的一个第三方插件,代码托管在 GitHub 上:
https://github.com/medcl/elasticsearch-analysis-ik
安装对应es版本的ik分词:
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
进入docker执行:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip
测试:
es 重启成功后,首先创建一个名为 test 的索引:
接下来,在该索引中进行分词测试:
本地自定义
1,在 es/plugins/ik/config 目录下,新建 ext.dic 文件(文件名任意),在该文件中可以配置自定义的词库。
2,然后在 es/plugins/ik/config/IKAnalyzer.cfg.xml 中配置扩展词典的位置:
<?xml version="1.0" encoding="UTF-8"?><properties> <comment>IK Analyzer 扩展配置comment> <entry key="ext_dict">ext.dicentry> <entry key="ext_stopwords">entry> properties>