本記事では、あいまい検索とクエリ分析を併用する方法について説明します。介入辞書を使用するタイミングや、必要な検索構文についても解説します。
あいまい検索とクエリ分析を併用するケース
あいまい検索のアナライザーのみを使用すると、不十分であったり、不適切な結果が返されたりする場合があります。このような状況では、クエリ分析を使用して結果を最適化します。ただし、あいまい検索は不完全一致を検出することで再現率を高めるように設計されているため、SHORT_TEXT データ型のフィールドのインデックスに対してクエリ分析を設定することはできません。この制限は、異なるデータ型を持つ複数のフィールドを作成し、異なるアナライザーでインデックスを設定することで回避できます。以下の手順で、この回避策を説明します。
注:
-
このシナリオでは、クエリ分析のストップワード機能は適用されません。
操作手順
-
[インスタンス管理] ページで、対象のアプリケーションを見つけて 詳細 をクリックします。次に、[オフライン変更] をクリックして [アプリケーション変更] ページを開きます。
-
クエリ対象のフィールドを追加します。
brandフィールドをSHORT_TEXT型に、brand_textフィールドをTEXT型に設定します。両方のフィールドは、データソースのbrandフィールドにマッピングされます。Next をクリックします。ここでは [アプリケーション構造] を設定します。これは、[インデックス構造] と [データソース] を含む3段階のうち、最初のステップです。
3. [インデックス構造] の設定ページで、brand フィールドに brand インデックスを追加し、アナライザーとして ファジー分析 を選択します。次に、brand_text フィールドに brand_text インデックスを追加し、アナライザーとして [中国語 - 汎用分析] を選択します。Next をクリックします。
4. [データソース] の設定ページで、編集 をクリックします。フィールドマッピングを設定します。brand フィールドと brand_text フィールドの両方がデータソースの brand フィールドにマッピングされていることを確認し、他のすべての新しく追加されたフィールドのマッピングも設定します。完了 をクリックします。 5. オフラインバージョンが作成されるまで待ちます。ステータスが [正常] に変わったら、クエリ分析を設定できます。左側メニューで、[検索アルゴリズムセンター] > [検索設定] > [クエリ分析] の順に選択します。[クエリ分析] ページで、右上隅の [作成] をクリックします。
6. クエリ分析ルールを設定します。[機能] でシノニムを選択し、シノニム介入辞書を選択します。[ルール名] を brand_qp に、[インデックス範囲] を brand_text に、[業種] を [汎用] に、[クエリリライト戦略] を [AND] に設定します。[辞書の使用法] で [システム組み込み辞書] を選択し、介入辞書には作成したシノニム辞書を選択します。[OK] をクリックします。 7. 設定をテストするために、シノニム介入エントリを追加します。[辞書管理] ページに移動し、[介入エントリを追加] をクリックします。[クエリ] を soso に、[シノニム] を search に設定します。エントリを保存すると、ステータスは [アクティブ] になります。 8. テスト結果を比較します。
query:brand_text:'soso' OR brand:'soso'
brand_qp クエリ分析パラメーターなしの場合:[検索テスト] ページでは、クエリは 0 件の結果を返します。
brand_qp クエリ分析パラメーターありの場合:検索は 2 件の結果を返します。シノニムマッピングによって検索語が展開され、soso が search にマッピングされます。これにより、brand フィールドの値が search または search engine であるレコードが取得され、シノニム介入が有効であることがわかります。