es-IK分詞器

  1. 分詞器安裝analyzer=standard(標準分詞)

在線分詞 http://10.7.13.7:9200/_analyze?analyzer=standard&pretty=true&text=sojson%E5%9C%A8%E7%BA%BF%E5%B7%A5%E5%85%B7java

{
  "tokens" : [ {
    "token" : "sojson",
    "start_offset" : 0,
    "end_offset" : 6,
    "type" : "<ALPHANUM>",
    "position" : 0
  }, {
    "token" : "在",
    "start_offset" : 6,
    "end_offset" : 7,
    "type" : "<IDEOGRAPHIC>",
    "position" : 1
  }, {
    "token" : "線",
    "start_offset" : 7,
    "end_offset" : 8,
    "type" : "<IDEOGRAPHIC>",
    "position" : 2
  }, {
    "token" : "工",
    "start_offset" : 8,
    "end_offset" : 9,
    "type" : "<IDEOGRAPHIC>",
    "position" : 3
  }, {
    "token" : "具",
    "start_offset" : 9,
    "end_offset" : 10,
    "type" : "<IDEOGRAPHIC>",
    "position" : 4
  } ]
}

一、下載 下載地址爲: https://github.com/medcl/elasticsearch-analysis-ik,根據es 2.3.3版本到對於版本上下載1.9.3版本git

二、解壓。github

把下載的 elasticsearch-analysis-ik.zip解壓。json

三、 Maven 打包elasticsearch

進入elasticsearch-analysis-ik-master/ 下,打包。注意:打包後的文件在elasticsearch-analysis-ik-master/target/目錄下ide

mvn clean package 4.而後在elasticsearch-2.3.3/plugins下建立目錄 ik工具

cd elasticsearch-2.3.3/plugins mkdir ik cd ik 而後將打包後的elasticsearch-analysis-ik-1.9.3.zip 放入當前目錄下,而後解壓。測試

五、設置(2.0以上能夠不設置,我沒有設置)。code

在 Elasticsearch 的config下的elasticsearch.yml文件中,添加以下代碼。索引

index:  
  analysis:                     
    analyzer:        
      ik:  
          alias: [ik_analyzer]  
          type: org.elasticsearch.index.analysis.IkAnalyzerProvider  
      ik_max_word:  
          type: ik  
          use_smart: false  
      ik_smart:  
          type: ik  
          use_smart: true

或者簡單配置:

index.analysis.analyzer.ik.type : ik

六、啓動測試。

http://123.88.88.88:9200/_analyze?analyzer=ik&pretty=true&text=sojson在線工具 結果爲:

{
  "tokens" : [ {
    "token" : "sojson",
    "start_offset" : 0,
    "end_offset" : 6,
    "type" : "ENGLISH",
    "position" : 0
  }, {
    "token" : "在線",
    "start_offset" : 6,
    "end_offset" : 8,
    "type" : "CN_WORD",
    "position" : 1
  }, {
    "token" : "工具",
    "start_offset" : 8,
    "end_offset" : 10,
    "type" : "CN_WORD",
    "position" : 2
  } ]
}

報錯:

Caused by: java.lang.IllegalArgumentException: Unknown Analyzer type [ik] for [ik]

狀況: 我在安裝完elasticsearch(後稱elas)後,啓動項目,能夠正常的使用,而且啓動的時候並無報錯,都沒有問題的。但當我安裝並配置完ik後,我再啓動elas的時候,就這個報錯。

解決: 查了網上通常有幾種狀況, 1 elas和ik的版本沒有對應引發。 2 沒有正確配置ik。 3 這是個人狀況,我在安裝elas的時候,曾經進行過測試的,包括增刪改查索引等操做,故在安裝ik後,elas裏還有一個索引,因此在啓動elas+ik的時候就報錯了,我到elas裏將那個因此刪除後,就能夠正常啓動elas服務了。

相關文章
相關標籤/搜索