ElasticSearch7笔记:Analysis分词、Analyzer分词器,安装分词插件

Analysis就是分词的过程,将文档内容转换为一系列单词(term),当然这里除了分割还有分析的过程,如统一转换小写、统一使用单数、统一人称、相近词等等。

Analyzer是分词器,Analysis需要分词器来完成分词操作。分词器又3部分组成,Character Filters 针对原始文本进行过滤处理;Tokenizer 按具体规则将文档切分为单词;Token Filter 将切分的单词进行加工处理,小写,删除stopwords等。

ES内置分词器

analyzer desc
Standard 默认分词器。按单词分割,转小写,移除标点符号,支持移除停顿词
Simple 按分字母符号进行单词切分,转小写
Stop 类似Simple,移除了停顿词(如a,the,to,for… 默认英文停顿词)
Whitespace 按空白字符切分,不转小写
Pattern 按照正则表达式切分,默认为非字符\W+
Language 旨在按指定语言切分的分词集合
Keyword 不分词,原样输出,将原文档值作为一个整体(term)
Fingerprint 指纹分词器,转小写,删除扩展字符,排序,删除重复字符

中文分词器

中文分词要比英文分词复杂,英文分词可以使用空格,中文分词需要把语句切分成合适的词。

在线安装icu_analysis插件。
docker exec -it es7 bash
bin/elasticsearch-plugin install analysis-icu
exit 
docker restart es7

我们在kibana中测试下icu分词,使用_analyze api。
ElasticSearch7笔记:Analysis分词、Analyzer分词器,安装分词插件_第1张图片

离线安装ik分词器

用过lucene的童鞋一定熟悉ik分词器,支持自定义停顿词和热词。可以在线安装,地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.7.0。注意下载对应es的版本。

这里使用离线安装的方式,先下载好插件包,然后丢到es插件目录即可。

docker cp elasticsearch-analysis-ik-7.7.0.zip es7:/usr/share/elasticsearch/plugins/ik
docker exec -it es7 bash
unzip elasticsearch-analysis-ik-7.7.0.zip
exit docker restart es7

同样使用上面的示例,我们使用ik分词器看下分词效果。

ElasticSearch7笔记:Analysis分词、Analyzer分词器,安装分词插件_第2张图片
使用ik_smart analyzer效果同icu。

你可能感兴趣的:(es7,elasticsearch)