En esta página, se explica cómo filtrar las búsquedas de una app de búsqueda con datos de sitios web.
Antes de comenzar
Asegúrate de haber creado una app y un almacén de datos, y de haber transferido los datos del sitio web a tu almacén de datos. Para obtener más información, consulta Cómo crear una app de búsqueda.
Acerca de las expresiones de filtro
Usa expresiones de filtro para crear los filtros de búsqueda de tu sitio web. La forma en que construyes tus filtros varía según si activaste la indexación avanzada de sitios web. Consulta una de las siguientes secciones, según si tienes la búsqueda básica en el sitio web o la indexación avanzada de sitios web:
Expresiones de filtro para la búsqueda básica de sitios web
En esta sección, se explica el comportamiento de las expresiones de filtro con la búsqueda básica de sitios web (la indexación avanzada de sitios web está desactivada).
Sintaxis para la búsqueda básica en sitios web
El siguiente Formulario de Backus-Naur extendido resume la sintaxis de las expresiones de filtro para crear un filtro de búsqueda de sitios web cuando tienes una búsqueda básica de sitios web. Las comillas dobles después de los dos puntos en un filtro se aplican de forma estricta.
# 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;
Campos disponibles para la búsqueda básica en el sitio web
Estos son los campos disponibles para filtrar la búsqueda en tu sitio web cuando tienes la búsqueda básica en el sitio web:
cr
(cadena) Restringe los resultados de la búsqueda a los documentos de un país específico. Para obtener una lista de los valores admitidos, consulta Valores de la colección de países.highRange
(cadena) Especifica el límite superior del rango de búsqueda. Si un documento contiene un número, este debe ser igual o inferior al valor dehighRange
para que el documento se incluya en la respuesta. EspecificahighRange
ylowRange
para crear una búsqueda dentro del rango de estos parámetros.lowRange
(cadena) Especifica el límite inferior del rango de búsqueda. Si un documento contiene un número, este debe ser igual o superior al valor delowRange
para que el documento se incluya en la respuesta. EspecificalowRange
yhighRange
para crear una búsqueda dentro del rango de estos parámetros.fileType
(cadena): Restringe los resultados de la búsqueda a los documentos con una extensión especificada. Para obtener una lista de los tipos de archivo admitidos, consulta Tipos de archivo que Google puede indexar.lr
(cadena): Restringe los resultados de la búsqueda a los documentos escritos en un idioma específico. Para obtener una lista de los idiomas admitidos, consulta Parámetros de búsqueda (lr).rights
(cadena) Filtra los resultados de la búsqueda según la licencia. Para conocer los valores admitidos, consulta Parámetros de consulta (derechos).siteSearch
(cadena) Especifica un patrón de URL para las páginas web en las que debe buscar tu consulta.
Ejemplos de búsquedas básicas en sitios web
Estos son algunos ejemplos de filtros para la búsqueda básica de sitios web:
{"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}
Filtra los documentos que cumplen con las siguientes condiciones: (1) Son de EE.UU. y (2) están en el dominio
https://example.com/example_domain
.{"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}
Filtros para documentos que son (1) archivos PDF y (2) están en inglés
{"filter": "rights:\"cc_publicdomain\""}
Filtros para documentos que son de dominio público
Expresiones de filtro con indexación avanzada de sitios web
En esta sección, se explica el comportamiento de las expresiones de filtro con la indexación avanzada de sitios web (la indexación avanzada de sitios web está activada).
Campos disponibles para la indexación avanzada de sitios web
Cuando tienes una indexación avanzada del sitio web, puedes filtrar la búsqueda en tu sitio web con estos campos:
siteSearch
(cadena): Es un patrón de URL para las páginas web en las que tu búsqueda debe realizarse.- Nombres de etiquetas de
meta
y nombres de atributos de PageMap: Son datos estructurados de tus páginas web que se pueden agregar al esquema de tu almacén de datos para que los campos se puedan buscar, recuperar y, también, indexar. Para obtener más información, consulta Usa datos estructurados para la indexación avanzada de sitios web.
Sintaxis para la indexación avanzada de sitios web
El siguiente Formulario de Backus-Naur extendido resume la sintaxis de las expresiones de filtro para crear un filtro de búsqueda de sitios web cuando tienes una indexación avanzada de sitios web. Las comillas dobles después de los dos puntos en un filtro se aplican de forma estricta.
Cuando se filtra por siteSearch
, la sintaxis de EBNF es la siguiente:
# 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;
Cuando se filtran nombres de etiquetas meta
y nombres de atributos de PageMap, la sintaxis de EBNF es la siguiente:
# 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;
Ejemplos de indexación avanzada de sitios web
Estos son algunos ejemplos de filtros para la indexación avanzada de sitios web con siteSearch
:
{"filter": "siteSearch:\"https://example.com/example_domain\""}
Filtra los documentos que se encuentran en el dominio
https://example.com/example_domain
. Por ejemplo,https://example.com/example_domain/index.html
{"filter": "siteSearch:\"https://example.com/subdomains/*\""}
Filtra los documentos que se encuentran en cualquier dominio que coincida con
https://example.com/subdomains/*
. Por ejemplo,https://example.com/subdomains/example_subdomain_page
{"filter": "siteSearch:\"https://altostrat.com/subdomain/pages/*\" OR siteSearch:\"http://cymbalgroup.com/pages/*\""}
Filtra los documentos que se encuentran en cualquier dominio que coincida con el primer o segundo patrón de URL. Por ejemplo,
https://altostrat.com/subdomain/pages/title_page
,https://cymbalgroup.com/subdomain/pages/title_page
ohttps://altostrat.com/subdomain/pages/INFO
.
A continuación, se incluyen algunos ejemplos de filtrado por meta
o nombre de atributo de PageMap:
{"filter": "product: ANY(\"networking\",\"compute\")"}
Filtra los documentos que contienen la etiqueta
meta
o el atributo PageMap llamadoproduct
, con su valor comonetworking
ocompute
.{"filter": "NOT product: ANY(\"storage\")"}
Filtra los documentos que no contienen la etiqueta
meta
o el nombre del atributo PageMapproduct
con su valor comostorage
.
Para obtener más información sobre los nombres de etiquetas meta
y los nombres de atributos de PageMap que se usan para la indexación, consulta Ejemplo de caso de uso para etiquetas meta
y Ejemplo de caso de uso para PageMaps.
Cómo filtrar la búsqueda en un sitio web
Para filtrar una búsqueda de sitios web, sigue estos pasos:
Busca el ID de tu app. Si ya tienes el ID de tu app, ve al siguiente paso.
En la consola de Google Cloud , ve a la página AI Applications.
Ve a Apps.
En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.
Para filtrar una búsqueda en un sitio web, usa el campo
filter
con el métodoengines.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" }'
Reemplaza lo siguiente:
PROJECT_ID
: el ID de tu proyecto.APP_ID
: Es el ID de tu app.QUERY
: Es el texto de la búsqueda.FILTER
: Un campo de texto para filtrar tu búsqueda con una expresión de filtro. El valor predeterminado es una string vacía.Para obtener información sobre cómo crear un filtro para la búsqueda básica en sitios web, consulta Expresiones de filtro con la búsqueda básica en sitios web.
Para obtener información sobre cómo crear un filtro para la indexación avanzada de sitios web, consulta Expresiones de filtro con indexación avanzada de sitios web.