検索品質の向上

検索品質 とは、検索クエリを作成するユーザーによって認識されるランキングと再現率から見た、検索結果の品質のことです。

ランキング とはアイテムの順序付けであり、再現率 とは取得された適合アイテムの数です。アイテム (ドキュメント)は、Microsoft Office ドキュメント、PDF ファイル、データベースの行、一意の URL など、Google Cloud Search がインデックス登録できる任意のデジタル コンテンツを指します。アイテムは次の要素で構成されます。

  • 構造化メタデータ
  • インデックス登録可能なコンテンツ
  • ACL

Cloud Search では、さまざまなシグナルを使用して、検索結果を取得してランク付けします。 これらのシグナルは、スキーマ、アイテムのコンテンツとメタデータ、検索アプリケーションの設定によって影響を受ける可能性があります。このドキュメントでは、これらのシグナルに影響を与える設定を変更して検索品質を向上させる方法について説明します。

設定の概要については、 検索品質設定の概要をご覧ください。

トピカリティ スコアに影響を与える

トピカリティ とは、検索結果とクエリ語句との関連度を指します。Cloud Search は、次の要素に基づいてトピカリティを計算します。

  • 各クエリ語句の重要度。
  • ヒット数(コンテンツやメタデータにクエリ語句が出現する頻度)。
  • クエリ語句とインデックス登録されたアイテムのマッチタイプ。

テキスト プロパティのトピカリティ スコアに影響を与えるには、スキーマで RetrievalImportance を定義します。RetrievalImportance が高いプロパティが一致すると、スコアが高くなります。

たとえば、ソフトウェア バグの履歴を保存する場合、ユーザーはバグ名でクエリを実行する可能性があります。 名前の RetrievalImportanceHIGHEST に設定します。説明には DEFAULT を使用します。

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": { "importance": "HIGHEST" }
          }
        },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": { "importance": "DEFAULT" }
          }
        }
      ]
    }
  ]
}

HTML ドキュメントの場合、<title><h1> などのタグは語句 の重要度を判断するのに役立ちます。ContentFormatTEXT の場合、ItemContentDEFAULT の重要度を使用します。HTML の場合、重要度は HTML のプロパティによって異なります。

鮮度に影響を与える

鮮度 __は、createTimeupdateTimeItemMetadata で使用して、アイテムが最近変更されたかどうかを測定します。 古いアイテムほどランキングが低くなります。

鮮度に影響を与えるには、freshnessProperty と を FreshnessOptions で調整します。 freshnessDurationfreshnessProperty を使用すると、updateTime の代わりにカスタムの日付またはタイムスタンプを使用できます。バグの場合は、期限を使用して、現在の日付に最も近い日付のアイテムのランキングを高くすることができます。

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": { "freshnessProperty": "duedate" }
      }
    }
  ]
}

freshnessDuration を使用して、アイテムが期限切れと見なされるタイミングを指定します。100 年などの高い値を指定すると、鮮度の効果が無効になります。これは、従業員プロファイルなどの静的データに便利です。ニュースの場合は、3 日などの小さい値を使用します。

品質に影響を与える

品質 は、アイテムの精度と有用性を測定します。 SearchQualityMetadata を使用して、0 ~ 1 の値を指定します。 値が大きいほどランキングが上がります。たとえば、人事部門が作成した福利厚生に関するドキュメントのランキングを上げることができます。

{
  "metadata": {
    "searchQualityMetadata": { "quality": 1.0 }
  }
}

項目の型によって影響を与える

`OrderedRanking` を使用すると、列挙型または整数型プロパティに基づいてランキングに影響を与えることができます。 OrderedRanking

  • NO_ORDER(デフォルト): ランキングに影響しません。
  • ASCENDING: 値が大きいほどランキングが上がります。
  • DESCENDING: 値が小さいほどランキングが上がります。

バグの優先度の場合、HIGH が 1 で LOW が 3 の場合は DESCENDING を使用します。votes プロパティには ASCENDING を使用します。

クエリ拡張によってランキングに影響を与える

クエリ拡張 では、類義語とスペルを使用して結果を改善します。

類義語を使用

Cloud Search では、類義語に公開ウェブ コンテンツを使用します。組織固有の用語にカスタムの類義語を定義することもできます。類義語を定義する をご覧ください

スペルを使用

Cloud Search では、 SpellResultにスペル候補が表示されます。 また、スペルの修正を類義語として使用してドキュメントを検索します。

検索アプリケーションの設定によってランキングに影響を与える

検索アプリケーションはコンテキスト情報を提供します。次の設定を使用してランキングに影響を与えることができます。

スコアリング構成を調整する

ScoringConfig を指定して、鮮度またはパーソナライズを無効にします。 パーソナライズを無効にすると、オーナーインタラクション のブーストが削除されます。 検索エクスペリエンスをカスタマイズするをご覧ください。

ソース構成を調整する

データソース レベルの設定を指定します。

  • ソースの重要度: 重要度が HIGH のソースのアイテムほどランキングが高くなります。
  • クラウディング: 多様性を確保するため、単一ソースからの結果を制限します(デフォルトは 3)。

カスタマイズ

パーソナライズでは、ユーザーに基づいて結果の優先順位が付けられます。

  • アイテムのオーナー: ユーザーが所有するアイテムのランキングを上げます。
  • アイテムのインタラクション: ユーザーが最近閲覧、 編集、コメントしたアイテムのランキングを上げます。
  • ユーザーのクリック: ユーザーが以前にクリックしたアイテムのランキングを上げます。このデータの収集に使用されるため、結果の URL は変更しないでください。

クエリ解釈

クエリ解釈 機能は、スキーマ定義を使用して、ユーザーのクエリを構造化された演算子ベースのクエリに変換します。これにより、最小限のキーワードでも正確な結果が得られます。最適なクエリ解釈のためのスキーマを構造化するをご覧ください。

アイテムの言語

Cloud Search は、クエリ言語と一致しない言語のアイテムのランキングを下げます。 RequestOptions をユーザーの設定に設定します。languageCode

アイテムのコンテキスト

contextAttributes を使用して、場所や 部署など、クエリ コンテキストに関連するアイテムのランキングを上げます。

アイテムの人気度

Cloud Search は、最近のクエリでユーザーが頻繁にクリックするアイテムのランキングを上げます。これらのクリックをトラッキングするために使用されるため、検索結果の URL は変更しないでください。

検索品質設定の概要

次の表に、検索品質設定の概要を示します。

スキーマ設定

設定 場所 推奨事項 詳細
ItemContent ItemContent 推奨 トピカリティ
RetrievalImportance RetrievalImportance 推奨 トピカリティ
FreshnessOptions FreshnessOptions 省略可 鮮度

インデックス登録設定

設定 場所 推奨事項 詳細
createTime/updateTime ItemMetadata 推奨 鮮度
contentLanguage ItemMetadata 推奨 アイテムの言語
owners ItemAcl 推奨 アイテムのオーナー
カスタムの類義語 _dictionaryEntry 推奨 類義語を使用
quality SearchQualityMetadata 省略可 品質に影響を与える
インタラクション データ interaction 省略可 アイテムのインタラクション
OrderedRanking OrderedRanking 省略可 フィールド タイプ

検索アプリケーション設定

設定 場所 推奨事項 詳細
カスタマイズを無効にする ScoringConfig 推奨 カスタマイズ
ソースの重要度 SourceCrowdingConfig 省略可 ソース構成
クラウディング SourceCrowdingConfig 省略可 ソース構成

次のステップ

  1. 最適なクエリ解釈のためのスキーマを構造化する
  2. 類義語を定義する