elasticsearch-analysis-ik 是一個比較常用的中文分詞器
cjk也支持中文,相當(dāng)于是bigram, elasticsearch對中文默認(rèn)分析器是unigram 的分析器(即默認(rèn)的 Standard Analyzer),即每個字是一個詞,效果不太好
比較常用的兩個效果較好的中文分詞器是ik和jieba,但是jieba只支持<=2.35版的elasticsearch
安裝ik:
- 下載 elasticsearch-analysis-ik-5.1.1.zip (注意:和elasticsearch版本對應(yīng)),直接下載其release的版本(第一個zip文件,避免maven打包)
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v5.1.1 - 在/Users/duhuifang/Downloads/elasticsearch-5.1.1/plugins下建立ik目錄
mkdir ik - 移動 elasticsearch-analysis-ik-5.1.1.zip至elasticsearch的plugins文件夾的ik文件夾下:
cp Downloads/ elasticsearch-analysis-ik-5.1.1.zip /Users/duhuifang/Downloads/elasticsearch-5.1.1/plugins/ik
- 解壓文件
unzip elasticsearch-analysis-ik-5.1.1.zip - 啟動elasticsearch,即可看到加載了analysis-ik插件

可以自定義分詞詞表
- 在/Users/duhuifang/Downloads/elasticsearch-5.1.1/plugins/ik/config/custom文件夾下可放進(jìn)自己的詞典,然后在/Users/duhuifang/Downloads/elasticsearch-5.1.1/plugins/ik/config/IKAnalyzer.cfg.xml配置文件中寫入自定義詞庫的路徑即可,如圖:

、
配置IKAnalyzer.cfg.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴(kuò)展配置</comment>
<!--用戶可以在這里配置自己的擴(kuò)展字典,我增加的是memect.dic -->
<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic;custom/memect.dic;</entry>
<!--用戶可以在這里配置自己的擴(kuò)展停止詞字典-->
<entry key="ext_stopwords">custom/ext_stopword.dic</entry>
<!--用戶可以在這里配置遠(yuǎn)程擴(kuò)展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用戶可以在這里配置遠(yuǎn)程擴(kuò)展停止詞字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>