over 7 years ago
稍微試了一下 IK Analysis 跟 Ansj 兩套Plugin然後記錄一下安裝方式
IK Analysis
感覺上好像蠻多人用,資源較多的樣子
項目位置:elasticsearch-analysis-ik
安裝方式:使用rtf版
從這邊 elasticsearch-rtf版 下載別人打包好的版本
把 elasticsearch-rtf/plugins/analysis-ik 複製到 /usr/share/elasticsearch/plugins/
把 elasticsearch-rtf/config/ik 複製到 /etc/elasticsearch/config/
編輯 /etc/elasticsearch/elasticsearch.yml 加上以下內容
index:
analysis:
analyzer:
ik:
alias: [news_analyzer_ik,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"
重新啟動後預設就是使用ik分詞囉
測試分詞結果
curl -i -X GET \
'http://localhost:9200/_analyze?analyzer=ik&pretty=true&text=%E6%88%91%E6%98%AF%E5%8F%B0%E7%81%A3%E4%BA%BA'
{
"tokens" : [ {
"token" : "我",
"start_offset" : 0,
"end_offset" : 1,
"type" : "CN_CHAR",
"position" : 1
}, {
"token" : "台灣人",
"start_offset" : 2,
"end_offset" : 5,
"type" : "CN_WORD",
"position" : 2
} ]
}
也可以試著用ik_max_word的分詞方式,他就會多拆成好幾種組合
Ansj
項目位置:ansj_seg
外掛位置:elasticsearch-analysis-ansj
安裝很簡單,用plugin照著執行就好了
./bin/plugin -u http://maven.ansj.org/org/ansj/elasticsearch-analysis-ansj/1.x.1/elasticsearch-analysis-ansj-1.x.1-release.zip -i ansj
簡單配置方式
################################## ANSJ PLUG CONFIG ################################
index:
analysis:
analyzer:
index_ansj:
type: ansj_index
query_ansj:
type: ansj_query
index.analysis.analyzer.default.type: ansj_index
測試
curl -i -X GET \
'http://127.0.0.1:9200/_ansj/?text=%E5%85%AD%E5%91%B3%E5%9C%B0%E9%BB%84%E4%B8%B86%E9%A2%97&analyzer=index_ansj&pretty=true'
重新啟動
在$ES_HOME/logs下看到這段表示已經加載完成
[2013-10-25 18:23:55,427][INFO ][ansj-analyzer ] ansj停止词典加载完毕!
[2013-10-25 18:24:01,509][INFO ][ansj-analyzer ] ansj分词器预热完毕,可以使用!
[2013-10-25 18:24:01,523][INFO ][ansj-redis-pool ] master.redis.yao.com:6379
[2013-10-25 18:24:01,607][INFO ][ansj-analyzer ] redis守护线程准备完毕,ip:master.redis.yao.com:6379,port:6379,channel:ansj_term
[2013-10-25 18:24:01,617][INFO ][ansj-redis-msg ] subscribe channel:ansj_term and subscribedChannels:1