Elasticsearch 中文分詞(elasticsearch-analysis-ik) 安裝


由於elasticsearch基於lucene,所以天然地就多了許多lucene上的中文分詞的支持,比如 IK, Paoding, MMSEG4J等lucene中文分詞原理上都能在elasticsearch上使用。當然前提是有elasticsearch的插件。 至於插件怎么開發,這里有一片文章介紹:
http://log.medcl.net/item/2011/07/diving-into-elasticsearch-3-custom-analysis-plugin/
暫時還沒時間看,留在以后仔細研究, 這里只記錄本人使用medcl提供的IK分詞插件的集成步驟。

安裝步驟:

1、到github網站下載源代碼,網站地址為:https://github.com/medcl/elasticsearch-analysis-ik

右側下方有一個按鈕“Download ZIP",點擊下載源代碼elasticsearch-analysis-ik-master.zip。

2、解壓文件elasticsearch-analysis-ik-master.zip,進入下載目錄,執行命令: 

unzip elasticsearch-analysis-ik-master.zip  

3、因為是源代碼,此處需要使用maven打包,進入解壓文件夾中,執行命令:

mvn clean package

4、將打包后,得到的目錄文件target/releases下的elasticsearch-analysis-ik-1.9.4.zip復制到ES安裝目錄的plugins/analysis-ik目錄下。

5、在plugins/analysis-ik目錄下解壓elasticsearch-analysis-ik-1.9.4.zip

6、在ES的配置文件elasticsearch.yml中增加ik的配置,在最后增加:

index.analysis.analyzer.ik.type: "ik" 

7、重新啟動elasticsearch服務,這樣就完成配置了,收入命令:

curl -XPOST "http://localhost:9200/_analyze?analyzer=ik&pretty=true&text=helloworld,中華人民共和國"  

  

測試結果如下:

{
  "tokens" : [ {
    "token" : "helloworld",
    "start_offset" : 0,
    "end_offset" : 10,
    "type" : "ENGLISH",
    "position" : 0
  }, {
    "token" : "中華人民共和國",
    "start_offset" : 11,
    "end_offset" : 18,
    "type" : "CN_WORD",
    "position" : 1
  }, {
    "token" : "中華人民",
    "start_offset" : 11,
    "end_offset" : 15,
    "type" : "CN_WORD",
    "position" : 2
  }, {
    "token" : "中華",
    "start_offset" : 11,
    "end_offset" : 13,
    "type" : "CN_WORD",
    "position" : 3
  }, {
    "token" : "華人",
    "start_offset" : 12,
    "end_offset" : 14,
    "type" : "CN_WORD",
    "position" : 4
  }, {
    "token" : "人民共和國",
    "start_offset" : 13,
    "end_offset" : 18,
    "type" : "CN_WORD",
    "position" : 5
  }, {
    "token" : "人民",
    "start_offset" : 13,
    "end_offset" : 15,
    "type" : "CN_WORD",
    "position" : 6
  }, {
    "token" : "共和國",
    "start_offset" : 15,
    "end_offset" : 18,
    "type" : "CN_WORD",
    "position" : 7
  }, {
    "token" : "共和",
    "start_offset" : 15,
    "end_offset" : 17,
    "type" : "CN_WORD",
    "position" : 8
  }, {
    "token" : "國",
    "start_offset" : 17,
    "end_offset" : 18,
    "type" : "CN_CHAR",
    "position" : 9
  } ]
}

 

 

注意點:

本人繞了很多彎路,網上很多都不行,總結:

一、maven一定要編譯,因為elasticsearch和ik各個版本不同,對應編譯生成的文件就不同,所以想引用elasticsearch-rtm包的朋友,一定要注意區分。

二、我是通過rpm安裝elasticsearch,事實證明字典config目錄,可以在plugins目錄下,和插件unzip放在一起

 

參考資料:

elasticsearch中文分詞

elasticsearch安裝plugin----ik

ElasticSearch中文分詞ik安裝

Elasticsearch初步使用(安裝、Head配置、分詞器配置)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM