iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0
Elastic Stack on Cloud

Elastic 30天自我修行系列 第 24

上傳三國演義人名詞庫到 Elastic Co

在 Elastic Co 的管理介面逛了一圈,找不到可以直接調整的地方。

找到這一篇:

Upload custom plugins, dictionaries, and scriptsedit

看起來最快的解法還是到 IK Analysis for Elasticsearch 的 Github 下載
https://github.com/medcl/elasticsearch-analysis-ik

將 zip 檔案解壓縮後,直接針對 "IKAnalyzer.cfg.xml" 進行設定

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict"></entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords"></entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">words_location</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

依照網路上的教學文件,最彈性的方式是直接將詞庫路徑設定 remote_ext_dict 區域中,就可以做到熱更新(不用重啟 ElastciSearch) ,只要文件符合 UTF-8 與 一詞一斷行的規格即可。不過由於網路上的教學文,主要都是透過 Docker 或是本機安裝,所以設定起來相對簡單。我也無法不確定,透過 Google Drive 的文件分享能不能直接被 Elastic 雲端主機存取成功。所以我決定偷懶一點,直接將三國演義人名,直接附加在原本的套件作者的 main.dic 詞庫中。

從 275910 Row 開始,就是我貼上的三國演義人名:

https://ithelp.ithome.com.tw/upload/images/20200924/20130033z41O5BeGGF.png

接著再將資料夾打包成 zip 檔,再透過Elastic co 的管理介面 "update your extension"。

這就是我目前研究出現的更新詞庫的方式。坦白說,這不是一個很好的方式,畢竟在實務上,詞庫可能會經常一個月就要更新好幾次。

不過這次的目的是研究與學習,就先不把生產環境的因素給考慮進來。

上星期假日,在誠品略讀了 "Python × Network一拍即合:自動化、程式化和DevOps 的一站式解決方案" 。其中也有提到,除非你是專心致志在 ElasticSearch 上,建議還是使用雲端服務對於運維上的壓力會減輕很多.... 我光是這陣子學習 ElasticSearch 就真心覺得不簡單,而且這還是在我閃躲掉很多專業議題的情況下。

好啦,就只剩下 6 篇就結束了 ....


上一篇
用三國演義中的角色名做為自訂詞庫
下一篇
比 API Console 更好用的 Console (Kibana 選單下的Console)
系列文
Elastic 30天自我修行31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言