類義語を使用する前に、類義語辞書ファイルをアップロードする必要があります。このトピックでは、Alibaba Cloud Elasticsearch クラスタに類義語辞書ファイルをアップロードする方法と、関連する注意事項について説明します。
注意事項
Elasticsearch クラスタに類義語辞書ファイルをアップロードする前に、クラスタが正常な状態であることを確認する必要があります。類義語辞書ファイルをアップロードすると、システムはクラスタを再起動します。再起動中、システムは類義語辞書ファイルに基づいて、クラスタ内のすべてのノードの類義語辞書を更新します。更新された辞書が有効になるまでの時間は、クラスタの仕様、データ量、および負荷によって異なります。オフピーク時に類義語辞書ファイルをアップロードすることをお勧めします。
ほとんどの場合、クラスタのインデックスにレプリカシャードがあり、クラスタの負荷が正常であれば、クラスタ構成の変更中でもクラスタはサービスを提供し続けることができます。クラスタの負荷が正常であることは、次の項目で示されます。クラスタ内の各ノードの CPU 使用率が約 60%、クラスタ内の各ノードのヒープメモリ使用率が約 50%、各ノードの NodeLoad_1m の値がノードの vCPU 数よりも小さい。
クラスタのインデックスにレプリカシャードがなく、クラスタの負荷が過度に高く、大量のデータがクラスタに書き込まれるか、クラスタでクエリされる場合、クラスタ構成の変更中にクラスタへのアクセスがタイムアウトすることがあります。クラスタ構成を変更する前に、クライアントにアクセス再試行メカニズムを設定することをお勧めします。これにより、ビジネスへの影響が軽減されます。
新しい辞書ファイルは、既存のインデックスでは有効になりません。これらのインデックスはファイルを自動的にロードできないためです。たとえば、
index-aliyun
インデックスは aliyun.txt 類義語ファイルに基づいて作成され、ファイルを修正して修正済みファイルをアップロードします。アップロードされたファイルは、インデックスでは有効になりません。新しい辞書ファイルを既存のインデックスにも有効にする場合は、次のいずれかの操作を実行します。Elasticsearch クラスタの類義語辞書が更新された後、これらのインデックスのデータをインデックスの再作成します。インデックスの再作成操作中は、サービスは中断されません。
これらのインデックスを再度開きます。再度開く操作中は、サービスは中断されます。インデックスを再度開くには、Kibana コンソールの [Dev Tools] ページの [コンソール] タブに移動し、次のコマンドを実行します。
---index_name はインデックスの名前を指定します。 POST <index_name>/_close POST <index_name>/_open
類義語辞書ファイルは、UTF-8 でエンコードされた TXT ファイルである必要があります。各行には、1 つの類義語式のみを含めることができます。類義語式は、Solr ルールとWordNet ルールをサポートしています。次のコードは例を示しています。
ipod, i-pod, i pod => ipod, i-pod, i pod foo => foo bar
Elasticsearch クラスタのストップワードリストには、クラスタの類義語辞書ファイルで指定されたキーワードを含めることはできません。そうしないと、新しい類義語辞書ファイルをアップロードしたり、その他の変更を加えたりすると、クラスタのログにエラーが報告されます。
ビジネスへの影響を防ぐために、使用中の類義語辞書ファイルの名前を変更しないことをお勧めします。変更すると、類義語辞書ファイルを使用するインデックスが異常になる可能性があります。
手順
Alibaba Cloud Elasticsearch コンソール にログインします。
左側のナビゲーションウィンドウで、[elasticsearch Clusters] をクリックします。
目的のクラスタに移動します。
上部のナビゲーションバーで、クラスタが属するリソースグループと、クラスタが存在するリージョンを選択します。
[elasticsearch Clusters] ページで、クラスタを見つけて ID をクリックします。
表示されるページの左側のナビゲーションウィンドウで、[構成と管理] > [クラスタ構成] を選択します。
[基本構成] セクションで、アップロード[類義語辞書構成] の右側にある をクリックします。
[類義語辞書構成] パネルの左下隅にある [構成] をクリックします。
類義語辞書ファイルをアップロードするために使用するメソッドを選択します。
説明類義語辞書ファイルは、「構成ルール」で説明されているルールに基づいて生成された TXT ファイルです。
[アップロード]: このメソッドを選択した場合は、[アップロード] をクリックし、オンプレミスマシンからアップロードする類義語辞書ファイルを選択します。
[OSS ファイルを追加]: このメソッドを選択した場合は、[バケット名] パラメータと [ファイル名] パラメータを構成し、[追加] をクリックします。
指定するバケットが Elasticsearch クラスタと同じリージョンに存在し、アップロードするファイルが TXT ファイルであることを確認してください。
[保存] をクリックします。
アップロードされた辞書ファイルを取得する場合は、ファイルに対応する アイコンをクリックしてファイルをダウンロードします。
次の手順
Elasticsearch クラスタの状態が [Normal] になったら、クラスタの Kibana コンソールにログインします。次に、インデックスを作成し、類義語を確認し、テストデータをアップロードして検索テストを実行します。インデックスを作成するときは、setting パラメータと mapping パラメータを構成し、"synonyms_path": "analysis/your_dict_name.txt"
setting パラメータに シノニムを使用する同義語の使用 を指定する必要があります。詳細については、「」と、オープンソース Elasticsearch ドキュメントの「」をご参照ください。
参照
クラスタの類義語辞書を更新するための API 操作: UpdateSynonymsDicts