over 2 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 加上以下內容

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

簡單配置方式

elasticsearch.yml
################################## 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
← Intellij開發Tomcat應用程式使用Gradle Tomcat plugin SpringBoot與Mybatis整合使用 →
 
comments powered by Disqus