ElasticSearch配置扩展分词
IK支持自定義擴展詞典和停用詞典,所謂擴展詞典就是有些詞并不是關(guān)鍵詞,但是也希望被ES用來作為檢索的關(guān)鍵詞,可以將這些詞加入擴展詞典。停用詞典就是有些詞是關(guān)鍵詞,但是出于業(yè)務(wù)場景不想使用這些關(guān)鍵詞被檢索到,可以將這些詞放入停用詞典。如何定義擴展詞典和停用詞典可以修改IK分詞器中config目錄中IKAnalyzer.cfg.xml這個文件。
NOTE:詞典的編碼必須為UTF-8,否則無法生效
一、步驟
二、效果
POST _analyze {"analyzer": "ik_smart","text": "巧碧螺" }
如果有多個詞典,使用英文分號隔開:
然而,該方式有一種致命的缺陷,就是無法實時更新熱詞,修改完文件,必須重啟elasticsearch才能生效,要想實時生效,需使用遠程配置方式
三、遠程配置熱詞庫
這里我們使用nginx服務(wù)(有web服務(wù)功能就可以提供遠程熱詞庫的功能了),來配置遠程熱詞庫。
關(guān)于nginx的部署可以參考我的這篇文章
nginx默認訪問html文件夾下的文件,在html下創(chuàng)建文件夾es_ik,創(chuàng)建fenci.txt
訪問http://ip:port/es_ik/fenci.txt
正常顯示則搭建成功
注意這里的ip,因為我的nginx使用docker啟動的,所以不可以簡單設(shè)置localhost
可以看到:docker給nginx分配的ip是172.18.0.4
配置前分詞情況
配置后
再試一個"胡噶撒旦撒"
只需修改fence.txt就可以了,無需重啟動elasticsearch
推薦使用遠程刷新模式
總結(jié)
以上是生活随笔為你收集整理的ElasticSearch配置扩展分词的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: float、double(浮点数)区别还
- 下一篇: 2020年抖音创作者生态报告