CrowdingSpec

擁擠程度的規格。擁擠度會限制共用相同欄位值的結果數量,藉此提升搜尋結果的多樣性。舉例來說,如果顏色欄位擁擠,且 maxCount 為 3,模式為 DROP_CROWDED_RESULTS,則所有頁面最多會傳回 3 個相同顏色的結果。

JSON 表示法
{
  "field": string,
  "maxCount": integer,
  "mode": enum (Mode)
}
欄位
field

string

用於擁擠的欄位。文件可能會因 Document 物件中的欄位而擁擠。擁擠度欄位須區分大小寫。

maxCount

integer

每個欄位值要保留的文件數量上限。如果至少有 maxCount 個先前的結果包含指定欄位的相同值 (根據 orderBy 中指定的順序),則後續結果中具有相同值的部分會「擠掉」先前的結果。如未指定,則預設值為 1。

mode

enum (Mode)

用於擁擠文件的模式。

模式

列舉,說明要用於擠出文件的模式。這些結果可能會被捨棄或降級至後續頁面。

列舉
MODE_UNSPECIFIED 未指定擁擠模式。在此情況下,伺服器行為預設為 Mode.DROP_CROWDED_RESULTS
DROP_CROWDED_RESULTS 捨棄擁擠的結果。
DEMOTE_CROWDED_RESULTS_TO_END 將擁擠的結果降級至後續頁面。