通过Analyzer进行分词

目录

 

什么是Analysis?

Analyzer的组成

使用_analyzer API

直接指定Analyzer进行测试

指定索引的字段进行测试

自定义分词器进行测试

Es内置分词器

中文分词的难点:

中文分词器:


什么是Analysis?

文本分析,把全文转换成一系列单词(term/token)的过程,也叫分词。他是通过Analyzer实现的,可以使用es内置的分析器,或者按需定制化分析器,除了在数据写入时进行分词,匹配query语句时也需要用相同的分析器对查询语句进行分析

Analyzer的组成

分词器是专门处理分词的组件,Analyzer由三部分组成

  • Character Filters  针对原始文本处理,例如去除html
  • Tokenizer 按照规则切分单词
  • Token filter 将切分的单词进行加工,小写,删除,增加同义词等

使用_analyzer API

直接指定Analyzer进行测试

指定索引的字段进行测试

自定义分词器进行测试

Es内置分词器

举例:

中文分词的难点:

中文句子:切分成一个一个词,而不是一个一个句子

英文中,单词有自然的空格作为分隔

一句中文,在不同的上下文中,有不同的理解

中文分词器:

IK

支持自定义词库,支持热更新分词字典

https://github.com/medcl/elasticsearch-analysis-ik
发布了107 篇原创文章 · 获赞 18 · 访问量 6322

猜你喜欢

转载自blog.csdn.net/qq_43109978/article/details/100514890
今日推荐