{ "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服務了。