CrowdingSpec

Es la especificación de la multiplicidad. La multiplicidad mejora la diversidad de los resultados de la búsqueda, ya que limita la cantidad de resultados que comparten el mismo valor de campo. Por ejemplo, la aglomeración en el campo de color con un maxCount de 3 y el modo DROP_CROWDED_RESULTS devolverá como máximo 3 resultados con el mismo color en todas las páginas.

Representación JSON
{
  "field": string,
  "maxCount": integer,
  "mode": enum (Mode)
}
Campos
field

string

Es el campo que se usará para el hacinamiento. Los documentos pueden estar saturados por un campo en el objeto Document. El campo de aglomeración distingue mayúsculas de minúsculas.

maxCount

integer

Es la cantidad máxima de documentos que se conservarán por valor del campo. Una vez que hay al menos maxCount resultados anteriores que contienen el mismo valor para el campo determinado (según el orden especificado en orderBy), los resultados posteriores con el mismo valor se "descartan". Si no se especifica, el valor predeterminado es 1.

mode

enum (Mode)

Es el modo que se usará para los documentos que se descartan.

Modo

Es un enum que describe el modo que se usará para los documentos que se descartan. Se pueden descartar o degradar a páginas posteriores.

Enums
MODE_UNSPECIFIED Modo de congestión sin especificar. En este caso, el comportamiento del servidor se establece de forma predeterminada en Mode.DROP_CROWDED_RESULTS.
DROP_CROWDED_RESULTS Descarta los resultados saturados.
DEMOTE_CROWDED_RESULTS_TO_END Se degradan los resultados saturados a las páginas posteriores.