elasticsearch 分析器

一、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": "人民大會堂"
}'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章