介入辞書とは、カスタム介入エントリのコレクションです。これらのエントリは、OpenSearch が検索クエリで識別できないスペルミスを修正するために使用されます。スペル修正のための介入辞書を作成した後、クエリ分析ルールを作成または変更するときに辞書を選択できます。このようにして、検索クエリのスペル修正に介入できます。
概要
OpenSearch は、自動スペル修正を実装するための組み込み辞書を使用して設計されています。スペル修正に介入するには、次の手順を実行できます。
スペル修正のための介入辞書を作成します。介入辞書を作成するには、OpenSearch コンソールにログインします。左側のナビゲーションペインで、[検索アルゴリズムセンター] > [検索設定] を選択します。[基本設定] ページで、左側のペインの [辞書管理] をクリックします。[辞書管理] ページで、右上隅にある [作成] をクリックします。[クエリ分析辞書の作成] パネルで、介入辞書の名前を入力し、辞書の種類を選択して、[保存] をクリックします。介入辞書が作成されると、辞書リストに表示されます。
介入辞書に介入エントリを追加および管理します。辞書リストで作成された辞書を見つけ、[アクション] 列の [エントリの管理] をクリックして、[エントリの管理] ページに移動します。このページで、必要に応じて介入エントリを追加および管理します。次の方法で同義語設定に介入できます。
修正クエリを追加し、検索クエリのスペル修正に対して有効にします。この操作を実行すると、OpenSearch は検索クエリを修正し、修正クエリに基づいてドキュメントを取得します。
修正クエリを追加し、検索クエリのスペル修正に対してブロックします。この操作を実行すると、OpenSearch は検索クエリを修正したり、修正クエリに基づいてドキュメントを取得したりしなくなります。
介入辞書を使用します。介入辞書に介入エントリを追加した後、必要に応じて、介入辞書をアプリケーションのクエリ分析ルールに関連付けることができます。
介入辞書をテストおよび公開します。介入辞書がクエリ分析ルールに関連付けられた後、ルールをオンライン環境に適用する前に検索テストを実行することをお勧めします。これにより、期待される検索パフォーマンスが確保されます。
介入エントリの一致シーケンスのルール
1. 先に追加された介入エントリが優先されます。
たとえば、カスタム検索クエリが china constructing back として指定され、次の介入エントリが追加されるとします:china constructing -> china construction および construction back -> construction bank。この場合、2 つの介入エントリの定義済み検索クエリはどちらも、分析後の連続した意味用語で一致させることができます。ただし、2 つの介入エントリの定義済み検索クエリ間には重複があり、先に追加された介入エントリのみが有効になります。したがって、スペル修正の結果は china construction back になります。
2. 定義済み検索クエリの先頭が同じ介入エントリの場合、定義済み検索クエリが長い介入エントリが優先されます。定義済み検索クエリの長さは、分析後の意味用語の数を示します。
たとえば、カスタム検索クエリが opansearching is excellent として指定され、次の介入エントリが追加されるとします:opan -> open および opansearching -> opensearch。この場合、スペル修正の結果は opensearch is excellent になります。
3. 包括一致モードでは、複数の介入エントリが単一のカスタム検索クエリに有効になります。
使用上の注意
人間の介入によるスペル修正操作は、信頼性が高いです。
OpenSearch は、組み込み辞書を、追加した介入エントリと共にスペル修正に使用します。カスタム検索クエリの場合、介入エントリに基づいてスペルが修正された後、OpenSearch は変更を保持し、変更されていない部分を組み込み辞書を使用して処理します。
介入エントリの例:
mobile phone changer -> mobile phone chargerカスタム検索クエリの例:
which mobile phone changer brad is goodスペル修正の結果:カスタム検索クエリは、介入エントリ mobile phone changer -> mobile phone charger に基づくスペル修正後、最初に which mobile phone charger brad is good に変更されます。次に、OpenSearch はこの変更を保持し、検索クエリの変更されていない部分を組み込み辞書を使用してスペル修正処理します。最終的な結果は which mobile phone charger brand is good になります。
例
シナリオ:e コマースショッピングガイドサービスの OpenSearch アプリケーション用に、スペル修正機能を備えたクエリ分析ルールを作成しました。これらのルールをオンラインアプリケーションに適用した後、無効なスペル修正結果が存在します。したがって、この問題を解決するために、スペル修正への介入が実装されます。
無効なスペル修正結果:顧客が検索クエリ「manhatan」を入力すると、「manhattan」という単語を含む結果がいくつかしか取得されません。「manhatan」という単語を含むほとんどの結果は取得に失敗します。
問題の説明:顧客が入力した検索クエリ「manhatan」にはスペルミスがあり、組み込みのスペル修正辞書ではスペルミスを識別できません。正しいスペルは「manhattan」です。
解決策:スペル修正のための介入辞書を作成し、検索クエリ「manhatan」に介入エントリ「manhatan -> manhattan」を追加します。次に、介入辞書をオンラインアプリケーションのクエリ分析ルールに関連付けます。
手順:
1. OpenSearch コンソールにログインします。左側のナビゲーションペインで、検索アルゴリズムセンター > 検索設定 を選択します。[基本設定] ページで、左側のペインの 辞書管理 をクリックします。[辞書管理] ページで、右上隅にある 作成 をクリックして、介入辞書を作成します。

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

3. [クエリ分析ルールの設定] ページに移動し、右上隅にある [作成] をクリックします。[ルールの作成] パネルで、作成したスペル修正のための介入辞書をクエリ分析ルールに関連付けます。

4. 検索テストを実行します。OpenSearch は、スペル修正後に検索クエリ「manhattan」を含む多数の結果を返します。検索パフォーマンスは期待どおりです。
使用上の注意
介入辞書の名前と種類は、作成後に変更できません。
異なる介入エントリには、異なる検索クエリを指定する必要があります。
介入辞書は、複数のクエリ分析ルールに関連付けることができます。
OpenSearch は、組み込み辞書を追加した介入エントリと共に使用します。組み込み辞書は、介入のために自動的に選択されます。
スペル修正のための介入辞書は、クエリの1 つ以上(最大 5 つ)の連続した完全な意味用語が介入エントリのクエリと一致する場合にのみ有効になります。これは包括一致モードと呼ばれます。包括一致モードは、文字列の部分文字列一致モードと同等ではありません。
介入辞書がクエリ分析ルールに関連付けられている場合、ルールがオンラインアプリケーションまたはオフラインアプリケーションに適用されているかどうかに関係なく、辞書を削除することはできません。最初に、辞書をルールから関連付け解除する必要があります。
制限
スペル修正のための介入辞書は最大 20 個作成できます。
介入エントリには、検索クエリと修正クエリを 1 つずつしか指定できません。
スペル修正のための介入辞書には、最大 1,000 個の介入エントリを追加できます。
介入エントリは、カスタム検索クエリのいずれかの用語がエントリの定義済み検索クエリと一致するときに有効になります。たとえば、「changer -> charger」という介入エントリを作成します。カスタム検索クエリ「mobile phone changer」を指定すると、OpenSearch は介入エントリ「changer -> charger」に基づいてスペルを修正します。この場合、OpenSearch は検索クエリ全体「mobile phone changer」の介入エントリを使用する必要はありません。
OpenSearch は、介入エントリのコンテンツを正規化します。すべての大文字は小文字に変換され、すべての全角文字は半角文字に変換されます。