上傳同義詞文件
在通過同義詞文件方式使用同義詞時,您需要先上傳同義詞文件。本文介紹上傳同義詞文件的注意事項和操作步驟。
注意事項
上傳同義詞前需確保集群處于正常狀態(tài),該操作會觸發(fā)集群滾動重啟,在重啟過程中后臺會進(jìn)行同義詞詞典的下發(fā),生效時長與集群規(guī)模、數(shù)據(jù)量及負(fù)載情況等有關(guān)系,建議在業(yè)務(wù)低峰期操作。
如果集群索引存在副本分片且集群負(fù)載處于正常水平(CPU使用率在60%左右,堆內(nèi)存使用率在50%左右,load_1m低于CPU核數(shù)),一般情況下,在集群變更過程中可持續(xù)對外提供服務(wù)。
如果集群負(fù)載過高且索引沒有副本,同時業(yè)務(wù)中存在大量的寫入或查詢等場景,在集群變更過程中,業(yè)務(wù)可能會出現(xiàn)偶發(fā)的訪問超時現(xiàn)象。建議在客戶端訪問機制中配置重試機制,以減小對業(yè)務(wù)的影響。
假設(shè)現(xiàn)存索引
index-aliyun
使用了aliyun.txt同義詞文件,當(dāng)aliyun.txt文件內(nèi)容變更并重新上傳后,現(xiàn)存索引不會動態(tài)加載更新后的同義詞詞典。為避免可能會造成只有新增數(shù)據(jù)使用新詞典的情況,您可以通過以下方式操作:您可以在同義詞詞典內(nèi)容發(fā)生變化后進(jìn)行索引重建操作,期間不會中斷服務(wù)。
您也可以使用elasticsearch-analysis-dynamic-synonym插件實現(xiàn)詞典動態(tài)加載,詳細(xì)信息請參見阿里云ES實現(xiàn)同義詞動態(tài)更新。
您也可以使用reopen現(xiàn)存索引對同義詞文件生效,不過要注意下reopen期間服務(wù)是完全中斷的。具體操作在Kibana開發(fā)界面的console控制臺輸入以下指令:
---index_name為索引名稱 POST <index_name>/_close POST <index_name>/_open
同義詞文件要求每行只有一個同義詞表達(dá)式(表達(dá)式支持Solr規(guī)則和WordNet規(guī)則),保存為UTF-8編碼的TXT文件,示例如下。
西紅柿,番茄 =>西紅柿,番茄 社保,公積金 =>社保,公積金
如果停用詞中包含同義詞文件中指定的詞,上傳同義詞文件或進(jìn)行其他操作時,主日志中會出現(xiàn)錯誤信息。
修改同義詞名稱會導(dǎo)致已引用的索引狀態(tài)異常,為避免影響業(yè)務(wù),不建議修改已使用的同義詞文件名稱。
操作步驟
- 登錄阿里云Elasticsearch控制臺。
- 在左側(cè)導(dǎo)航欄,單擊Elasticsearch實例。
- 進(jìn)入目標(biāo)實例。
- 在頂部菜單欄處,選擇資源組和地域。
- 在Elasticsearch實例中單擊目標(biāo)實例ID。
在左側(cè)導(dǎo)航欄,選擇配置與管理>ES集群配置。
在基礎(chǔ)配置區(qū)域,單擊同義詞配置右側(cè)的上傳。
在同義詞配置面板,單擊面板左下方的配置。
選擇上傳同義詞文件的方式。
說明同義詞文件是按照同義詞配置規(guī)則生成的TXT文件。
上傳文件:單擊上傳文件,在本地選擇您要上傳的同義詞文件。
添加OSS文件:輸入Bucket名稱和同義詞文件名稱,單擊添加。
請確保Bucket與當(dāng)前Elasticsearch實例在同一地域下,且文件為TXT格式。
單擊保存。
如果您需要獲取已經(jīng)上傳過的詞庫文件,可直接單擊對應(yīng)文件的圖標(biāo)進(jìn)行下載。
后續(xù)步驟
等待實例的狀態(tài)變?yōu)檎:螅卿汯ibana控制臺創(chuàng)建索引、校驗同義詞,并上傳測試數(shù)據(jù)進(jìn)行搜索測試。創(chuàng)建索引時需要配置settings和mapping,并且需要在settings中配置"synonyms_path": "analysis/your_dict_name.txt"
。詳細(xì)信息,請參見使用同義詞和官方文檔Using Synonyms。
相關(guān)文檔
更新同義詞詞典的API文檔:UpdateSynonymsDicts。