概要
OpenSearch には、検索クエリ内の単語を除外するためのストップワード辞書が組み込まれています。検索クエリでのストップワードフィルタリングに介入するには、次の手順を実行します。
ストップワードの介入辞書を作成する。介入辞書を作成するには、OpenSearch コンソールにログインします。左側のナビゲーションペインで、[検索アルゴリズムセンター] > [検索設定] を選択します。[基本設定] ページの左側のペインで、[辞書管理] をクリックします。[辞書管理] ページの左上隅にある [作成] をクリックします。介入辞書の名前を指定し、辞書の種類を選択して、[保存] をクリックします。介入辞書が作成されると、辞書リストに表示されます。
介入辞書に介入エントリを作成および管理する。作成した辞書の入力管理ページに移動するには、辞書リストで辞書を見つけ、[アクション] 列の [エントリの管理] をクリックします。このページで、必要に応じて介入エントリを作成および管理します。検索クエリのストップワードには、次の方法で介入できます。 - ストップワードを追加します。セグメント化された検索クエリ内の用語が追加されたストップワードである場合、その用語は検索に使用されません。 - ストップワードをブロックします。セグメント化された検索クエリ内の用語がブロックされたストップワードである場合、その用語は検索に使用されます。
介入辞書を使用する。介入辞書に介入エントリを作成した後、必要に応じてアプリケーションのクエリ分析ルールで介入辞書を使用できます。
介入辞書をテストして公開する。介入辞書がクエリ分析ルールに関連付けられた後、ルールをオンライン環境に適用する前に検索テストを実行することをお勧めします。これにより、期待される検索パフォーマンスが保証されます。
例
シナリオ:eコマースショッピングガイドサービスの OpenSearch アプリケーションに対して、ストップワードフィルタリングが有効になっているクエリ分析ルールを作成しました。これらのルールをオンラインアプリケーションに適用した後、返された検索結果が満足のいくものではありません。この問題を解決するために、ストップワードフィルタリングへの介入が実装されています。
満足できない検索結果:ユーザーが検索クエリ「海南にはバナナがある」と入力します。「海南にはバナナがある」というフレーズを含むドキュメントはごくわずかしか取得されません。
問題の説明:1つの理由は、システムが検索クエリ内の「には」という単語をストップワードとして認識できないことです。
解決策:介入辞書を作成し、「には」という単語をストップワードとして追加します。次に、オンラインアプリケーションで使用されるクエリ分析ルールに介入辞書を関連付けます。
手順:
1. OpenSearch コンソールにログインします。左側のナビゲーションペインで、[検索アルゴリズムセンター] > [検索設定] を選択します。[基本設定] ページの左側のペインで、[辞書管理] をクリックします。[辞書管理] ページの左上隅にある作成をクリックして、介入辞書を作成します。

[クエリ分析辞書の作成] パネルで、介入辞書の名前を指定し、[辞書の種類] パラメーターをストップワードに設定します。
2. 作成した介入辞書を見つけ、[アクション] 列の [エントリの管理] をクリックします。表示されるページで、介入エントリの追加をクリックします。[介入エントリの追加] パネルで、[ストップワード] 列に「には」と入力し、[介入タイプ] 列で追加を選択して、[保存] をクリックします。

3. [クエリ分析ルールの管理] ページに移動し、左上隅にある [作成] をクリックします。[ルールの作成] パネルで、作成したストップワードの介入辞書をルールに関連付けます。この手順では、ルールをオンラインアプリケーションに適用しないでください。

4. 検索テストを実行します。「海南にはバナナがある」を検索すると、「海南バナナ」というフレーズを含むすべてのドキュメントも取得されます。
使用上の注意
介入辞書を作成した後は、名前と種類を変更することはできません。
介入エントリごとに異なるストップワードを指定する必要があります。
介入辞書は、複数のクエリ分析ルールで使用できます。
OpenSearch は、組み込み辞書と、作成した介入エントリを一緒に使用します。クエリ分析ルールを作成するときにストップワードフィルタリングを有効にすると、ストップワードの組み込み辞書が自動的に選択されます。
介入辞書がクエリ分析ルールで使用されている場合、ルールがオンラインアプリケーションに適用されているかオフラインアプリケーションに適用されているかに関係なく、辞書を削除することはできません。最初に、ルールから辞書の関連付けを解除する必要があります。
制限
Alibaba Cloud アカウント内で最大 20 個のストップワードの介入辞書を作成できます。
介入エントリには、1 つのストップワードのみを指定できます。
介入辞書には最大 500 個の介入エントリを作成できます。
介入エントリは、セグメント化された検索クエリ内の用語がエントリのストップワードと一致する場合にのみ有効になります。たとえば、介入エントリで「どんな」をストップワードとして指定します。検索クエリが「どんなフェイスクリームがいいですか」の場合、OpenSearch は「フェイスクリームがいいですか」という検索クエリに基づいてドキュメントを取得します。
OpenSearch は、介入エントリのコンテンツを正規化します。すべての大文字は小文字に変換され、すべての全角文字は半角文字に変換されます。