elasticsearch 分析器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sangyongjia/article/details/79977789

一、Elasticsearch的分析器(analyzer)包括三部分:

    1、字符过滤器:他们的任务是在分词前整理字符串。一个字符过滤器可以用来去掉HTML,或者将 & 转化成 `and`等。

    2、分词器:简单的分词器遇到空格或标点的时候讲文本拆分为词条(Token)。

    3、Token过滤器:改变词条(eg: Quick --> quick);删除词(eg: a ,the ,and); 增加同义词(eg: jump == leap)

------------以上是elasticsearch权威指南中内容,适用用于西文字符-------------

二、适用于中文分词的,目前网上看到最多的是IKAnalyzer。

    IKAnalyzer分词器采用的是“正向迭代最细粒度切分算法”。有两种可选模式 :细粒度(ik_max_word)和最大词长(ik_smart)。以“人民大会堂”为例:

采用ik_max_word模式的分词结果为:人民大会堂、人民大会、人民、大会、大会堂、大会、堂。

采用ik_smart模式的分词结果为:人民大会堂。

elasticsearch查询语句为:

curl -XGET '10x.200.x65.x27:9201/_analyze?pretty' -H 'Content-Type: application/json' -d'
{
  "analyzer": "ik_max_word",
  "text": "人民大会堂"
}'

curl -XGET '10x.200.x65.x27:9201/_analyze?pretty' -H 'Content-Type: application/json' -d'
{
  "analyzer": "ik_smart",
  "text": "人民大会堂"
}'

阅读更多

没有更多推荐了,返回首页