Elasticsearch之中文分詞器插件es-ik的自定義熱更新詞庫


 

接上文:https://www.cnblogs.com/liuyong18/p/12158470.html 上文中我們了解到,詞表對特定query的效果影響比較大,也是解決badcase的手段之一。

然后系統提供的通用詞表和擴展詞表的每次改動都需要對ES進行重啟,在web系統中,這是不允許的,因此我們需要搭建一個可以不需要重啟ES的動態詞表,每次只需要更新遠程詞表的位置就可以了。

 

在IKAnalyzer.cfg.xml中,我們看到系統是支持遠程詞典的:

 

 

然后,我們就按照這個策略配置一個試試:

在服務器下,創建了一個php文件

http://10.145.XX.XX:8281/iamstilllive121.php   通過這個文件可以直接加載出詞典內容來;

 

然后配置到“ext_stopwords”中:

 

iamstilllive121.php 的內容為:

 

 

查看 es-ik 插件的源碼可以發現:

在 https://github.com/medcl/elasticsearch-analysis-ik/blob/master/src/main/java/org/wltea/analyzer/dic/Monitor.java class中:

1min詞表會同步一次

 

 

 

 

所以必須保證下面兩個值中至少一個發生了變化,最簡單的就跟我上面一樣整個時間戳就可以了。

 

有了這個,以后就可以人為控制切詞結果了,沒必要切的太細的也可以指定組合之后的結果就不再切分了。完美!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM