ElasticSearch5.0+版本分詞熱更新實踐記錄


前言

  剛開始接觸ElasticSearch的時候,版本才是2.3.4,短短的時間,現在都更新到5.0+版本了。分詞和head插件好像用法也不一樣了,本博客記錄如何配置Elasticsearch的Head插件和使用ik分詞並進行熱更新。

實踐記錄

  首先安裝ES5.3.2版本,之前安裝了5.4版本,奈何分詞版本只更新到5.3.2,於是又換回了5.3.2的版本,不過沒關系。ik分詞也會更新。由於Head插件不和以前的用法一樣,所以,這里記錄一下如何在5.0版本以后使用Head插件。

  可參考文章 http://blog.csdn.net/yx1214442120/article/details/55102298 

  安裝nodejs環境,安裝grunt,安裝好grunt之后,要在elasticsearch.yml中增加配置:

http.cors.enabled: true
http.cors.allow-origin: "*"

  其他配置修改,參考上文鏈接中的內容。我們先用grunt server命令運行head插件

  

  在瀏覽器中打開該地址可以看到相應的管理界面:

  

  安裝IK分詞很簡單,從該地址(https://github.com/medcl/elasticsearch-analysis-ik/releases)下載相對應的版本即可,可以直接將下載后的源代碼生成的jar包,放在plugins/ik/下。

  

 

   ik分詞的配置中是可以遠程加載詞庫的,此時新建一個web項目代表遠程詞庫,例如我的詞庫地址為:

   

  修改ik分詞的配置即可,配置文件路徑:D:\ElasticSearch\plugins\ik\config

  當我們啟動ES的時候會看到相應的日志記錄,如下:

  

  這個遠程詞庫,IK會定期檢查,如果變化,會重新加載。由於漢字中是亂碼,所以,我新加一個英文的詞newword。可以看到,已經重新加載了遠程詞庫。

  

 

   下面測試一下分詞效果 http://localhost:9200/cnblogs1/_analyze?analyzer=ik_smart&text=侯亮平,遠程詞庫中沒有【侯亮平】,此時解析出是這樣的:

  

  由於詞庫是延遲更新的,所以添加完詞之后,不會立馬變化。等一會,重新加載之后可以看分詞效果:

  

 

  這樣我們的詞庫熱更新就完成啦。小伙伴們趕緊去試試吧。

 


免責聲明!

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



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