Questa pagina spiega come filtrare le query di ricerca per un'app di ricerca con dati di siti web.
Prima di iniziare
Assicurati di aver creato un'app e un datastore e di aver importato i dati del sito web nel datastore. Per saperne di più, vedi Creare un'app di ricerca.
Informazioni sulle espressioni di filtro
Utilizza le espressioni di filtro per creare i filtri di ricerca del sito web. La modalità di creazione dei filtri varia a seconda che tu abbia attivato o meno l'indicizzazione avanzata dei siti web. Consulta una delle seguenti sezioni, a seconda che tu abbia la ricerca di base su siti web o l'indicizzazione avanzata dei siti web:
Espressioni di filtro per la ricerca di base su siti web
Questa sezione spiega il comportamento delle espressioni di filtro con la ricerca di base su siti web (l'indicizzazione avanzata dei siti web è disattivata).
Sintassi per la ricerca di base su siti web
Il seguente modulo di Backus-Naur esteso riassume la sintassi delle espressioni di filtro per creare un filtro di ricerca del sito web quando hai la ricerca di base su siti web. Le virgolette doppie dopo i due punti in un filtro sono obbligatorie.
# A single expression or multiple expressions that are joined by "AND". filter = expression, { "AND", expression }; expression = # A simple expression applying to a text url string. | filter_key, ":", \"text_value\" filter_key = (cr | highRange | lowRange | fileType | lr | rights | siteSearch); text_value = string value to filter on;
Campi disponibili per la ricerca di base su siti web
Ecco i campi disponibili per filtrare la ricerca del sito web quando hai la ricerca di base su siti web:
cr(stringa) Limita i risultati di ricerca ai documenti di un paese specifico. Per un elenco dei valori supportati, vedi Valori della raccolta di paesi.highRange(stringa) Specifica il limite superiore dell'intervallo di ricerca. Se un documento contiene un numero, questo deve essere inferiore o uguale al valore dihighRangeper essere incluso nella risposta. Specifica siahighRangesialowRangeper creare una query di ricerca all'interno dell'intervallo di questi parametri.lowRange(stringa) Specifica il limite inferiore dell'intervallo di ricerca. Se un documento contiene un numero, questo deve essere superiore o uguale al valore dilowRangeper essere incluso nella risposta. Specifica sialowRangesiahighRangeper creare una query di ricerca all'interno dell'intervallo di questi parametri.fileType(stringa) Limita i risultati di ricerca ai documenti con un'estensione specificata. Per un elenco dei tipi di file supportati, vedi Tipi di file indicizzabili da Google.lr(stringa) Limita i risultati di ricerca ai documenti scritti in una lingua specificata. Per un elenco delle lingue supportate, vedi Parametri di query (lr).rights(stringa) Filtra i risultati di ricerca in base alla licenza. Per i valori supportati, vedi Parametri di query (diritti).siteSearch(stringa) Specifica un pattern URL per le pagine web in cui la query deve eseguire la ricerca.
Esempi per la ricerca di base su siti web
Ecco alcuni esempi di filtri per la ricerca di base su siti web:
{"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}Filtra i documenti che: (1) provengono dagli Stati Uniti e (2) si trovano nel dominio
https://example.com/example_domain.{"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}Filtra i documenti che: (1) sono file PDF e (2) sono in inglese.
{"filter": "rights:\"cc_publicdomain\""}Filtra i documenti di dominio pubblico.
Espressioni di filtro con l'indicizzazione avanzata dei siti web
Questa sezione spiega il comportamento delle espressioni di filtro con l'indicizzazione avanzata dei siti web (l'indicizzazione avanzata dei siti web è attivata).
Campi disponibili per l'indicizzazione avanzata dei siti web
Quando hai l'indicizzazione avanzata dei siti web, puoi filtrare la ricerca del sito web utilizzando questi campi:
siteSearch(stringa): un pattern URL per le pagine web in cui la query deve eseguire la ricerca.- Nomi dei tag
metae nomi degli attributi PageMap: dati strutturati delle pagine web che possono essere aggiunti allo schema del datastore per rendere i campi ricercabili, recuperabili e indicizzabili. Per saperne di più, vedi Utilizzare i dati strutturati per l'indicizzazione avanzata dei siti web.
Sintassi per l'indicizzazione avanzata dei siti web
Il seguente modulo di Backus-Naur esteso riassume la sintassi delle espressioni di filtro per creare un filtro di ricerca del sito web quando hai l'indicizzazione avanzata dei siti web. Le virgolette doppie dopo i due punti in un filtro sono obbligatorie.
Quando filtri per siteSearch, la sintassi EBNF è la seguente:
# A single expression or multiple expressions that are joined by "OR". filter = expression, { "OR", expression }; # Expressions can be prefixed with "-" or "NOT" to express a negation. expression = [ "-" | "NOT " ], # A simple expression applying to a text url string. | filter_key, ":", \"url_string\" filter_key = siteSearch; url_string = double quoted string representing a URL;
Quando filtri per i nomi dei tag meta e i nomi degli attributi PageMap, la sintassi EBNF è la seguente:
# A single expression or multiple expressions that are joined by "OR". filter = expression, { "OR", expression }; # Expressions can be prefixed with "-" or "NOT" to express a negation. expression = [ "-" | "NOT " ], # Function "ANY" returns true if the field exactly matches any of the literals. | text_field, ":", "ANY", "(", literal, { ",", literal }, ")" literal = double quoted string; # text_field corresponds to the meta tag or PageMap Attribute name, for example, category text_field = text field;
Esempi per l'indicizzazione avanzata dei siti web
Ecco alcuni esempi di filtri per l'indicizzazione avanzata dei siti web con siteSearch:
{"filter": "siteSearch:\"https://example.com/example_domain\""}Filtra i documenti che si trovano nel dominio
https://example.com/example_domain. Ad esempio,https://example.com/example_domain/index.html.{"filter": "siteSearch:\"https://example.com/subdomains/*\""}Filtra i documenti che si trovano in qualsiasi dominio corrispondente a
https://example.com/subdomains/*. Ad esempio,https://example.com/subdomains/example_subdomain_page.{"filter": "siteSearch:\"https://altostrat.com/subdomain/pages/*\" OR siteSearch:\"http://cymbalgroup.com/pages/*\""}Filtra i documenti che si trovano in qualsiasi dominio corrispondente al primo o al secondo pattern URL. Ad esempio,
https://altostrat.com/subdomain/pages/title_page,https://cymbalgroup.com/subdomain/pages/title_pageohttps://altostrat.com/subdomain/pages/INFO.
Ecco alcuni esempi di filtri per i nomi degli attributi meta o PageMap:
{"filter": "product: ANY(\"networking\",\"compute\")"}Filtra i documenti che contengono il tag
metao l'attributo PageMap denominatoproduct, con il valorenetworkingocompute.{"filter": "NOT product: ANY(\"storage\")"}Filtra i documenti che non contengono il tag
metao il nome dell'attributo PageMapproductcon il valorestorage.{"filter": "dateModified>= \"2025-07-31T00:00:00Z\")"}Filtra i documenti la cui data dell'ultima modifica è il 31 luglio 2025. Il formato deve essere conforme al formato nello schema del documento. Per saperne di più, vedi
DATETIME.
Per saperne di più sui nomi dei tag meta e sui nomi degli attributi PageMap utilizzati per l'indicizzazione,
vedi Esempio di caso d'uso per i tag meta
ed Esempio di caso d'uso per PageMaps.
Filtrare una ricerca del sito web
Per filtrare una ricerca del sito web:
Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.
Nella Google Cloud console, vai alla pagina AI Applications.
Nella pagina App, trova il nome dell'app e recupera l'ID app dalla colonna ID.
Per filtrare una ricerca del sito web, utilizza il
filtercampo con ilengines.servingConfigs.searchmetodo.curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "filter": "FILTER" }'Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.APP_ID: l'ID app.QUERY: il testo della query da cercare.FILTER: un campo di testo per filtrare la ricerca utilizzando un' espressione di filtro. Il valore predefinito è una stringa vuota.Per informazioni sulla creazione di un filtro per la ricerca di base su siti web, vedi Espressioni di filtro con la ricerca di base su siti web.
Per informazioni sulla creazione di un filtro per l'indicizzazione avanzata dei siti web, vedi Espressioni di filtro con l'indicizzazione avanzata dei siti web.