検索品質の向上

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

ランキングはアイテムの順序付けであり、再現率は取得された適合アイテムの数です。アイテム(ドキュメントとも呼びます)は、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 プロパティによって異なります。

鮮度に影響を与える

鮮度は、ItemMetadatacreateTimeupdateTime を使用して、アイテムが最後に変更された日時を測定します。古いアイテムほどランキングが低くなります。

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

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

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

品質に影響を与える

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

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

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

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

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

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

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

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

類義語を使用

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

スペルを使用する

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

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

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

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

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

ソース構成を調整する

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

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

カスタマイズ

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

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

クエリ解釈

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

アイテムの言語

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

アイテムのコンテキスト

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. 類義語を定義する