GitHub IK插件地址
https://github.com/medcl/elasticsearch-analysis-ik
需要注意IK插件的版本,要和ElasticSearch對(duì)應(yīng),否則出錯(cuò)(而且應(yīng)該按照第二種命令的方式進(jìn)行下載,簡(jiǎn)單不易錯(cuò),開(kāi)始按照第一種出現(xiàn)了找不到文件的錯(cuò)誤)
1.安裝方式(我用第一種錯(cuò)誤了,第二種直接就好使,但是主要版本對(duì)應(yīng)關(guān)系)
optional 1 - download pre-build package from here: https://github.com/medcl/elasticsearch-analysis-ik/releases unzip plugin to folder your-es-root/plugins/
optional 2 - use elasticsearch-plugin to install ( version > v5.5.1 ): ./bin/elasticsearch-plugin install [https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.1/elasticsearch-analysis-ik-5.6.1.zip](https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.1/elasticsearch-analysis-ik-5.6.1.zip)
IK version | ES version |
---|---|
5.6.1 | 5.6.1 |
5.5.3 | 5.5.3 |
2.安裝完成之后可以測(cè)試效果對(duì)比
1.測(cè)試內(nèi)置的標(biāo)準(zhǔn)分析器效果standard
curl -XPOST http://localhost:9200/_analyze?pretty -d '{ "analyzer": "standard", "text": "庖丁解牛成語(yǔ)中文english test" }'
2.測(cè)試剛剛安裝好的ik分詞分析器插件的效果
curl -XPOST http://localhost:9200/_analyze?pretty -d '{ "analyzer": "ik_max_word", "text": "庖丁解牛成語(yǔ)中文english test" }'
3.GitHub上復(fù)制的原話(就用ik_max_word靠譜)
移除名為 ik 的analyzer和tokenizer,請(qǐng)分別使用 ik_smart 和 ik_max_word
ik_max_word 和 ik_smart 什么區(qū)別?
ik_max_word: 會(huì)將文本做最細(xì)粒度的拆分,比如會(huì)將“中華人民共和國(guó)國(guó)歌”拆分為“中華人民共和國(guó),中華人民,中華,華人,人民共和國(guó),人民,人,民,共和國(guó),共和,和,國(guó)國(guó),國(guó)歌”琼娘,會(huì)窮盡各種可能的組合顷扩;
ik_smart: 會(huì)做最粗粒度的拆分帚稠,比如會(huì)將“中華人民共和國(guó)國(guó)歌”拆分為“中華人民共和國(guó),國(guó)歌”窃植。
4.ElasticSearch Reference的地址,解析Analyzer
https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer-anatomy.html
Anlyzer由character filter+tokenizer+token filter組成,添加的這個(gè)ik實(shí)際上主要是tonkenizer分詞器的效果,之后要改可以和其他filter組合 IK的Git上的一句話:Analyzer: ik_smart , ik_max_word , Tokenizer: ik_smart , ik_max_word 組合示例(這個(gè)就是看一下,不能復(fù)制直接用) POST _analyze { "tokenizer": "standard", "filter": [ "lowercase", "asciifolding" ], "text": "Is this déja vu?" }
3.IK熱更新IK Analysis for Elasticsearch
https://github.com/medcl/elasticsearch-analysis-ik
修改 elasticsearch-root目錄/config/analysis-ik/IKAnalyzer.cfg.xml
<!-用戶可以在這里配置遠(yuǎn)程擴(kuò)展字典 -->
<entry key="remote_ext_dict">http://localhost:8080/elasticsearch/ik/remote_my_dict.txt</entry>
其實(shí)配置好那個(gè)url就可以,隨便用什么可以被訪問(wèn)的http服務(wù)器就行(我在linux弄的tomcat)
配置好之后在remote_my_dict.txt中隨時(shí)添加詞就可以,不用重啟elasticsearch的服務(wù)(但是加完詞,測(cè)試查詢不會(huì)立馬生效,得過(guò)個(gè)10多秒,不知道具體怎么回事.估計(jì)是用定時(shí)器去特定時(shí)間發(fā)送那個(gè)鏈接的請(qǐng)求吧) `