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 abbia la ricerca di base del sito web o l'indicizzazione avanzata del sito web:
Espressioni di filtro per la ricerca di base sul sito web
Questa sezione spiega il comportamento delle espressioni filtro con la ricerca di base sul sito web (l'indicizzazione avanzata del sito web è disattivata).
Sintassi per la ricerca di base sul sito web
La seguente forma Backus-Naur estesa riassume la sintassi dell'espressione di filtro per la creazione di un filtro di ricerca del sito web quando è disponibile la ricerca di base del sito 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) Consente di limitare i risultati di ricerca ai documenti di un paese specifico. Per un elenco dei valori supportati, consulta Valori della raccolta 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 nell'intervallo di questi parametri.lowRange
(stringa) Specifica il limite inferiore dell'intervallo di ricerca. Se un documento contiene un numero, questo deve essere uguale o superiore al valore dilowRange
affinché il documento venga incluso nella risposta. Specifica sialowRange
chehighRange
per creare una query di ricerca nell'intervallo di questi parametri.fileType
(stringa) Consente di limitare i risultati di ricerca ai documenti con un'estensione specificata. Per un elenco dei tipi di file supportati, consulta Tipi di file indicizzabili da Google.lr
(stringa) Consente di limitare 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 alle licenze. Per i valori supportati, consulta Parametri di query (diritti).siteSearch
(stringa) Specifica un pattern URL per le pagine web in cui deve essere eseguita la ricerca.
Esempi per la ricerca di base sul sito web
Ecco alcuni esempi di filtri per la ricerca di base sul sito web:
{"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}
Filtri per documenti: (1) provenienti dagli Stati Uniti e (2) nel dominio
https://example.com/example_domain
.{"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}
Filtri per 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 delle espressioni filtro con l'indicizzazione avanzata dei siti web (se questa è attivata).
Campi disponibili per l'indicizzazione avanzata dei siti web
Quando hai l'indicizzazione avanzata del sito web, puoi filtrare la ricerca sul sito web 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 tuo datastore per rendere i campi cercabili, recuperabili e indicizzabili. Per ulteriori 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 Backus-Naur Form esteso riassume la sintassi dell'espressione di filtro per la creazione di un filtro di ricerca del sito web quando hai l'indicizzazione avanzata del sito 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 applichi un filtro per i nomi dei tag meta
e dei nomi degli 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 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/*\""}
Filtri per i documenti che si trovano in qualsiasi dominio corrispondente al primo o al secondo pattern di URL. Ad esempio,
https://altostrat.com/subdomain/pages/title_page
,https://cymbalgroup.com/subdomain/pages/title_page
ohttps://altostrat.com/subdomain/pages/INFO
.
Di seguito sono riportati alcuni esempi di filtri per il nome dell'attributo meta
o 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\")"}
Filtri per 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 dei nomi degli attributi PageMap utilizzati per l'indicizzazione, consulta Caso d'uso di esempio per i tag meta
e Caso d'uso di esempio per le mappe di pagine.
Filtrare una ricerca su un sito web
Per filtrare una ricerca sul sito web:
Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.
Nella console Google Cloud, vai alla pagina Agent Builder.
Nella pagina App, trova il nome della tua app e recupera l'ID dall'app la colonna ID.
Per filtrare una ricerca sul 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" }'
- PROJECT_ID: l'ID del 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 sul sito web, consulta Espressioni di filtro con la ricerca di base sul sito web.
Per informazioni sulla creazione di un filtro per l'indicizzazione avanzata dei siti web, consulta Espressioni di filtro con l'indicizzazione avanzata dei siti web.