ElasticSearch中文分詞ik安裝

http://www.elasticsearch.org/overview/elkdownloads/ 
下載編譯好的安裝包,解壓縮就可以直接使用 
如果是自己編譯的版本在安裝插件時可能會出現一些問題,比如安裝elasticsearch-head,雖然安裝成功,但是插件運行不正常,能夠查看索引,但是節點的相關狀態信息無法顯示,所以在熟悉elasticsearch的細節後再自編譯版本比較合適,如果學習使用的話還是在官網上下載編譯好的版本。 

上面這一步很簡單,沒有出現任何問題就通過了,然而在安裝ik時走了很多彎路,爲防止今後出現類似情況將此次安裝過程中出現的問題記錄下來。 

1. 從elasticsearch-rtf中下載的elasticsearch-analysis-ik-1.2.6.jar直接拷貝到 
ES的plugins/analysis-ik目錄下,運行ES報如下錯誤: 
Shell代碼  收藏代碼
  1. org.elasticsearch.ElasticsearchIllegalArgumentException: failed to find analyzer type [ik] or tokenizer for [ik]  
  2. org.elasticsearch.common.settings.NoClassSettingsException: Failed to load class setting [type] with value [ik]  
  3. java.lang.ClassNotFoundException: org.elasticsearch.index.analysis.ik.IkAnalyzerProvider  


在google上找到方法,需要自己編譯ik包,原因如下: 
在ik項目主頁https://github.com/medcl/elasticsearch-analysis-ik上有個 
版本列表 
Version 
-————— 
master | 1.4.0 → master 
1.2.9 | 1.4.0 
1.2.8 | 1.3.2 
1.2.7 | 1.2.1 
1.2.6 | 1.0.0 
1.2.5 | 0.90.2 
1.2.3 | 0.90.2 
1.2.0 | 0.90.0 
1.1.3 | 0.20.2 
1.1.2 | 0.19.x 
1.0.0 | 0.16.2 → 0.19.0 

新下載的ES是1.4.2版本的,所以會出現問題。 

2. 用plugin -i medcl/elasticsearch-analysis-ik 無法安裝成功,應該也是版本的問題 

3. 編譯安裝elasticsearch-analysis-ik 
用需要用到maven,第一次用maven編譯時間需要很長,大部分時間都是在下載依賴包,依賴包可在~/.m2中找到 
在源碼目錄下執行 mvn package 
編譯完成後在target/releases目錄下有個elasticsearch-analysis-ik-1.2.9.zip文件,將其拷貝到plugins/analysis-ik中解壓縮即可。如果只是拷貝target目錄下的jar文件的話,會在運行elasticsearch時出現找不到httpclient。 

詞庫將源碼包中的config/ik拷貝到ES目錄下就可以了,不用作其它配置,方法參考項目主頁的方法。 

4. 配置,在config/elasticsearch.yml中添加下行 
Shell代碼  收藏代碼
  1. index.analysis.analyzer.ik.type : "ik"  

直接運行,看到無錯誤的話,說明ik裝成功 


from: http://jack-boy.iteye.com/blog/2171853?utm_source=tuicool

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