CrowdingSpec

クラウディングの仕様。クラウディングは、同じフィールド値を共有する結果の数を制限することで、検索結果の多様性を改善します。たとえば、maxCount が 3 で mode が DROP_CROWDED_RESULTS の color フィールドのクラウディングでは、すべてのページで同じ色の結果が最大 3 つ返されます。

JSON 表現
{
  "field": string,
  "maxCount": integer,
  "mode": enum (Mode)
}
フィールド
field

string

クラウディングに使用するフィールド。ドキュメントは、Document オブジェクトのフィールドでクラウディングできます。クラウディング フィールドでは大文字と小文字が区別されます。

maxCount

integer

フィールドの値ごとに保持するドキュメントの最大数。指定されたフィールドに同じ値を含む過去の結果が maxCount 個以上存在する場合(orderBy で指定された順序に従って)、同じ値を持つ後続の結果は「クラウディングで除外」されます。指定しない場合、デフォルト値は 1 です。

mode

enum (Mode)

クラウディングで除外したドキュメントに使用するモード。

Mode

クラウディングで除外したドキュメントに使用するモードを記述する列挙型。後続のページは、ドロップまたはデモートされる可能性があります。

列挙型
MODE_UNSPECIFIED クラウディング モードが指定されていません。この場合、サーバーの動作はデフォルトで Mode.DROP_CROWDED_RESULTS になります。
DROP_CROWDED_RESULTS クラウディングされた結果をドロップします。
DEMOTE_CROWDED_RESULTS_TO_END クラウディングされた結果を後のページにデモートします。