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