Elasticsearch之Analyze

1、analyzer的组成

CharacterFilters:针对原始文本进行处理例如去掉html

Tokenizer:按照规则切分单词

Token Filter:将切分好的单词进行二次加工

2、分词器

standard 默认分词器,按词切分,小写处理

stop  小写处理,停用词过滤(a,the,is)

simple  按照非字母切分(符号被过滤),小写处理

whitespace  按照空格切分,不转小写

keyword  不分词,直接输入当做输出

pattern  正则表达式,默认\W+(非字符分割)

language 提供了30多种常见的语言分词器

customer  自定义分词器

3、使用_analyzer API

指定analyzer进行测试

Elasticsearch之Analyze

返回结果字段含义:
token是一个实际被存储在索引中的词
position指明词在原文本中是第几个出现的
start_offset和end_offset表示词在原文本中占据的位置。

4、中文分词(ik+pingyin)

ik+pinyin插件的安装

https://github.com/medcl/elasticsearch-analysis-pinyin/releases

https://github.com/medcl/elasticsearch-analysis-ik/releases

将下载的安装包分别放在此路径下对应的目录中

Elasticsearch之Analyze

 选择对应的版本,保持与ES版本一致