FacetSpec

Una specifica del facet per eseguire la ricerca con facet.

Rappresentazione JSON
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
Campi
facetKey

object (FacetKey)

Obbligatorio. La specifica della chiave facet.

limit

integer

Numero massimo di valori di facet restituiti per questo facet. Se non specificato, il valore predefinito è 20. Il valore massimo consentito è 300. I valori superiori a 300 vengono forzati a 300. Per l'aggregazione nella ricerca nel settore sanitario, quando [FacetKey.key] è "healthcare_aggregation_key", il limite verrà sostituito internamente con 10.000, indipendentemente dal valore impostato qui.

Se questo campo è negativo, viene restituito un INVALID_ARGUMENT.

excludedFilterKeys[]

string

Elenco delle chiavi da escludere durante la creazione di sfaccettature.

Per impostazione predefinita, FacetKey.key non viene escluso dal filtro, a meno che non sia elencato in questo campo.

L'elenco di una chiave di facet in questo campo consente di visualizzare i relativi valori come risultati di facet, anche se sono filtrati dai risultati di ricerca. L'utilizzo di questo campo non influisce sui risultati di ricerca restituiti.

Ad esempio, supponiamo che ci siano 100 documenti con la sfaccettatura di colore "Rosso" e 200 documenti con la sfaccettatura di colore "Blu". Una query contenente il filtro "color:ANY("Red")" e con "color" come FacetKey.key restituirebbe per impostazione predefinita solo i documenti "Red" nei risultati di ricerca e restituirebbe anche "Red" con conteggio 100 come unico facet di colore. Sebbene siano disponibili anche documenti blu, "Blu" non verrà visualizzato come valore di sfaccettatura disponibile.

Se "color" è elencato in "excludedFilterKeys", la query restituisce i valori della sfaccettatura "Red" con conteggio 100 e "Blue" con conteggio 200, perché la chiave "color" è ora esclusa dal filtro. Poiché questo campo non influisce sui risultati di ricerca, questi ultimi vengono comunque filtrati correttamente per restituire solo i documenti "Rossi".

Sono consentiti massimo 100 valori. In caso contrario, viene restituito un errore INVALID_ARGUMENT.

enableDynamicPosition

boolean

Attiva la posizione dinamica per questo facet. Se è impostata su true, la posizione di questa sfaccettatura tra tutte le sfaccettature nella risposta viene determinata automaticamente. Se i facet dinamici sono abilitati, vengono ordinati insieme. Se impostato su false, la posizione di questo facet nella risposta è la stessa della richiesta e viene classificato prima dei facet con posizione dinamica abilitata e di tutti i facet dinamici.

Ad esempio, potresti voler sempre restituire la sfaccettatura della valutazione nella risposta, ma non è necessario visualizzarla sempre in alto. In questo caso, puoi impostare enableDynamicPosition su true in modo che la posizione del facet di valutazione nella risposta venga determinata automaticamente.

Un altro esempio, supponendo di avere i seguenti facet nella richiesta:

  • "rating", enableDynamicPosition = true

  • "price", enableDynamicPosition = false

  • "brands", enableDynamicPosition = false

Inoltre, hai attivato i facet dinamici, che generano un facet gender. L'ordine finale delle sfaccettature nella risposta può essere ("price", "brands", "rating", "gender") o ("price", "brands", "gender", "rating") a seconda di come l'API ordina le sfaccettature "gender" e "rating". Tuttavia, nota che "price" e "brands" sono sempre classificati in prima e seconda posizione perché enableDynamicPosition è false.

FacetKey

Specifica come viene calcolata una sfaccettatura.

Rappresentazione JSON
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
Campi
key

string

Obbligatorio. Chiavi di sfaccettatura testuali e numeriche supportate nell'oggetto Document, in base alle quali vengono calcolati i valori delle sfaccettature. La chiave del facet è sensibile alle maiuscole.

intervals[]

object (Interval)

Imposta solo se i valori devono essere suddivisi in bucket in intervalli. Deve essere impostato per le sfaccettature con valori numerici. Non deve essere impostato per il facet con valori di testo. Il numero massimo di intervalli è 30.

restrictedValues[]

string

Ottieni solo la sfaccettatura per i valori con limitazioni specificati. Supportato solo sui campi di testo. Ad esempio, supponiamo che "category" abbia tre valori: "Action > 2022", "Action > 2021" e "Sci-Fi > 2022". Se imposti "restrictedValues" su "Azione > 2022", la sfaccettatura "category" (categoria) contiene solo "Azione > 2022". Supportato solo sui campi di testo. Il valore massimo è 10.

prefixes[]

string

Recupera solo i valori delle sfaccettature che iniziano con il prefisso della stringa specificato. Ad esempio, supponiamo che "category" abbia tre valori: "Action > 2022", "Action > 2021" e "Sci-Fi > 2022". Se imposti "prefissi" su "Azione", la sfaccettatura "categoria" contiene solo "Azione > 2022" e "Azione > 2021". Supportato solo sui campi di testo. Il valore massimo è 10.

contains[]

string

Recupera solo i valori delle sfaccettature che contengono le stringhe specificate. Ad esempio, supponiamo che "category" abbia tre valori: "Action > 2022", "Action > 2021" e "Sci-Fi > 2022". Se imposti "contiene" su "2022", la sfaccettatura "categoria" contiene solo "Azione > 2022" e "Fantascienza > 2022". Supportato solo sui campi di testo. Il valore massimo è 10.

caseInsensitive

boolean

True per rendere le chiavi di sfaccettatura non sensibili alle maiuscole e minuscole quando si ottengono valori di sfaccettatura con prefissi o contiene; false in caso contrario.

orderBy

string

L'ordine in cui vengono restituiti i documenti.

I valori consentiti sono:

Se non viene impostato, i valori testuali vengono ordinati in ordine naturale; gli intervalli numerici vengono ordinati nell'ordine indicato da FacetSpec.FacetKey.intervals.