Questa pagina spiega come filtrare le query di ricerca per un'app di ricerca con dati del sito 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 ulteriori informazioni, vedi Creare un'app di ricerca.
Informazioni sulle espressioni di filtro
Utilizza le espressioni di filtro per creare i filtri di ricerca del tuo sito web. Il modo in cui costruisci i filtri varia a seconda che tu abbia attivato l'indicizzazione avanzata dei siti web. Consulta una delle seguenti sezioni, a seconda che tu disponga della ricerca di base sul sito web o dell'indicizzazione avanzata dei siti web:
Espressioni di filtro per la ricerca di base su sito web
Questa sezione spiega il comportamento delle espressioni di filtro con la ricerca di base sul sito web (l'indicizzazione avanzata del sito web è disattivata).
Sintassi per la ricerca di base su sito web
Il seguente Extended Backus–Naur form riassume la sintassi dell'espressione di filtro per creare un filtro di ricerca sui siti web quando hai la ricerca di base sui siti web. Le virgolette doppie dopo i due punti in un filtro vengono applicate rigorosamente.
# 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 sul sito web
Di seguito sono riportati i campi disponibili per filtrare la ricerca sul sito web quando hai la ricerca di base sul sito web:
cr
(stringa) Limita i risultati di ricerca ai documenti di un paese specifico. Per un elenco dei valori supportati, consulta Valori della raccolta di paesi.highRange
(stringa) Specifica il limite superiore dell'intervallo di ricerca. Se un documento contiene un numero, questo deve essere uguale o inferiore al valore dihighRange
affinché il documento venga incluso nella risposta. Specifica siahighRange
chelowRange
per 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 pari o superiore al valore dilowRange
affinché il documento venga incluso nella risposta. Specifica sialowRange
chehighRange
per creare una query di ricerca all'interno dell'intervallo di questi parametri.fileType
(stringa) Limita i risultati di ricerca ai documenti con un'estensione specifica. Per un elenco dei tipi di file supportati, consulta 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, consulta Parametri di query (lr).rights
(stringa) Filtra i risultati di ricerca in base alla licenza. Per i valori supportati, consulta la sezione Parametri di query (diritti).siteSearch
(stringa) Specifica un pattern URL per le pagine web in cui deve essere eseguita la ricerca della query.
Esempi per la ricerca di base su sito web
Ecco alcuni esempi di filtri per la ricerca di base di siti web:
{"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}
Filtri per 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\""}
Filtri per i documenti che sono: (1) file PDF e (2) in inglese.
{"filter": "rights:\"cc_publicdomain\""}
Filtri per i documenti di dominio pubblico.
Filtrare le espressioni con l'indicizzazione avanzata dei siti web
Questa sezione spiega il comportamento dell'espressione 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 del sito web, puoi filtrare la ricerca sul sito utilizzando questi campi:
siteSearch
(stringa): un pattern URL per le pagine web in cui deve essere eseguita la ricerca della query.- Nomi dei tag
meta
e nomi degli attributi PageMap: dati strutturati delle tue pagine web che possono essere aggiunti allo schema del datastore per rendere i campi ricercabili, recuperabili e indicizzabili. Per maggiori informazioni, consulta la pagina Utilizzare i dati strutturati per l'indicizzazione avanzata dei siti web.
Sintassi per l'indicizzazione avanzata dei siti web
Il seguente Extended Backus–Naur form riassume la sintassi dell'espressione 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 vengono applicate rigorosamente.
Quando filtri per siteSearch
, la sintassi EBNF è:
# 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 nomi di tag meta
e nomi di attributi PageMap, la sintassi EBNF è:
# 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\""}
Filtri per 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/*\""}
Filtri per i documenti che si trovano in uno qualsiasi dei domini corrispondenti 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/*\""}
Filtri per 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_page
ohttps://altostrat.com/subdomain/pages/INFO
.
Ecco alcuni esempi di filtri per meta
o per nome attributo PageMap:
{"filter": "product: ANY(\"networking\",\"compute\")"}
Filtri per i documenti che contengono il tag
meta
o l'attributo PageMap denominatoproduct
, con il valorenetworking
ocompute
.{"filter": "NOT product: ANY(\"storage\")"}
Filtra i documenti che non contengono il tag
meta
o il nome dell'attributo PageMapproduct
con il valorestorage
.
Per ulteriori informazioni 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
e Esempio di caso d'uso per PageMap.
Filtrare la ricerca di un sito web
Per filtrare la ricerca di un 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 della tua app e recupera il relativo ID dalla colonna ID.
Per filtrare la ricerca di un sito web, utilizza il campo
filter
con il metodoengines.servingConfigs.search
.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 della tua 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 sui siti web, consulta Espressioni di filtro con la ricerca di base sui 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.