全部產品
Search
文件中心

Elasticsearch:上傳同義字檔案

更新時間:Dec 17, 2024

在通過同義字檔案方式使用同義字時,您需要先上傳同義字檔案。本文介紹上傳同義字檔案的注意事項和操作步驟。

注意事項

  • 上傳同義字前需確保叢集處於正常狀態,該操作會觸發叢集滾動重啟,在重啟過程中後台會進行同義字詞典的下發,生效時間長度與叢集規模、資料量及負載情況等有關係,建議在業務低峰期操作。

  • 如果叢集索引存在副本分區且叢集負載處於正常水平(CPU使用率在60%左右,堆記憶體使用量率在50%左右,load_1m低於CPU核心數),一般情況下,在叢集變更過程中可持續對外提供服務。

  • 如果叢集負載過高且索引沒有副本,同時業務中存在大量的寫入或查詢等情境,在叢集變更過程中,業務可能會出現偶發的訪問逾時現象。建議在用戶端訪問機制中配置重試機制,以減小對業務的影響。

  • 假設現存索引index-aliyun使用了aliyun.txt同義字檔案,當aliyun.txt檔案內容變更並重新上傳後,現存索引不會動態載入更新後的同義字詞典。為避免可能會造成只有新增資料使用新詞典的情況,您可以通過以下方式操作:

    • 您可以在同義字詞典內容發生變化後進行索引重建操作,期間不會中斷服務。

    • 您也可以使用reopen現存索引對同義字檔案生效,不過要注意下reopen期間服務是完全中斷的。具體操作在Kibana開發介面的console控制台輸入以下指令:

      ---index_name為索引名稱
      POST <index_name>/_close
      POST <index_name>/_open
  • 同義字檔案要求每行只有一個同義字運算式(運算式支援Solr規則WordNet規則),儲存為UTF-8編碼的TXT檔案,樣本如下。

    西紅柿,番茄 =>西紅柿,番茄
    社保,公積金 =>社保,公積金
  • 如果停用詞中包含同義字檔案中指定的詞,上傳同義字檔案或進行其他動作時,主日誌中會出現錯誤資訊。

  • 修改同義字名稱會導致已引用的索引狀態異常,為避免影響業務,不建議修改已使用的同義字檔案名稱。

操作步驟

  1. 登入Elasticsearch控制台

  2. 在左側導覽列,單擊Elasticsearch執行個體

  3. 進入目標執行個體。

    1. 在頂部功能表列處,選擇資源群組和地區。

    2. Elasticsearch執行個體中單擊目標執行個體ID。

  4. 在左側導覽列,選擇配置與管理>ES叢集配置

  5. 基礎配置地區,單擊同義字配置右側的上傳

  6. 同義字配置面板,單擊面板左下方的配置

  7. 選擇上傳同義字檔案的方式。

    說明

    同義字檔案是按照同義字配置規則產生的TXT檔案。

    • 上傳檔案:單擊上傳檔案,在本地選擇您要上傳的同義字檔案。

    • 添加OSS檔案:輸入Bucket名稱和同義字檔案名稱,單擊添加

      請確保Bucket與當前Elasticsearch執行個體在同一地區下,且檔案為TXT格式。

  8. 單擊儲存

說明

如果您需要擷取已經上傳過的詞庫檔案,可直接單擊對應檔案的已上傳詞庫檔案下載表徵圖表徵圖進行下載。

後續步驟

等待執行個體的狀態變為正常後,登入Kibana控制台建立索引、校正同義字,並上傳測試資料進行搜尋測試。建立索引時需要配置settingsmapping,並且需要在settings中配置"synonyms_path": "analysis/your_dict_name.txt"。詳細資料,請參見使用同義字官方文檔Using Synonyms

相關文檔

更新同義字詞典的API文檔:UpdateSynonymsDicts