1. 程式人生 > >Elasticsearch 5.X為index指定中文分詞器ik

Elasticsearch 5.X為index指定中文分詞器ik

Elasticsearch用於json格式資料的全文檢索十分方便,但是需要一些時間來熟悉和配置。最權威的配置說明在官方文件這裡,但是由於是英文的,而且新概念和內容十分多,初學者往往不容易找到解決問題的辦法。筆者解決這篇文章中的問題就花了2天時間,所以記錄下來,方便初學者查閱。

Elasticsearch 5.X不再支援elasticsearch.yml配置檔案中全域性的分詞器配置,那麼如果想給一個index的所有type指定使用中文分詞器IK Analysis,怎麼設定呢?

首先你需要以外掛方式安裝ik,安裝方法請移步這裡

然後一定要安裝一個圖形化介面,比如head。

最後用http PUT請求設定my_index索引的預設分詞器。注意須在索引尚不存在時傳送http請求,如果有別的索引級別的設定,需要放在請求體裡面一起傳送。下圖所示的設定除了設定預設分詞器,還設定了關閉自動日期檢測(關於自動日期檢測將在下一篇文章中詳述)。


PUT my_index
{
"settings": {
    "analysis": {
      "analyzer": {"default":{"type":"ik_max_word"}}
    }
  }

}

這樣設定之後,該index下以後建立的所有type都會使用ik作為分詞器啦。

當然官方文件中提交會在後面的版本逐漸移除type概念,這就是另一回事了。