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 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 de elaborar los filtros varía según si activaste la indexación avanzada de sitios web. Consulta una de las siguientes secciones, según si tienes una búsqueda básica de sitios web o una 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 la expresión del 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 de sitios web
El siguiente esquema Backus-Naur extendido resume la sintaxis de la expresión de filtro para construir un filtro de búsqueda de sitios web cuando tienes una búsqueda básica de sitios web. Las comillas dobles después del 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 de sitios web
Estos son los campos disponibles para filtrar la búsqueda de sitios web cuando tienes una búsqueda básica de sitios 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 recopilació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 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 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 especificado. Para obtener una lista de los idiomas admitidos, consulta Parámetros de consulta (lr).rights
(cadena) Filtra los resultados de la búsqueda según las licencias. Para conocer los valores compatibles, 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úsqueda básica 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 cumplan con las siguientes condiciones: (1) que sean de EE.UU. y (2) que 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) en inglés.
{"filter": "rights:\"cc_publicdomain\""}
Filtros para documentos que son de dominio público
Cómo filtrar expresiones con la indexación avanzada de sitios web
En esta sección, se explica el comportamiento de la expresión del 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 la indexación avanzada de sitios web, puedes filtrar la búsqueda de sitios web con estos campos:
siteSearch
(cadena): Es un patrón de URL para las páginas web en las que debe buscar tu consulta.- Nombres de etiquetas
meta
y nombres de atributos de PageMap: Datos estructurados de tus páginas web que se pueden agregar al esquema de tu almacén de datos para que los campos puedan buscarse, recuperarse y indexarse. Para obtener más información, consulta Cómo usar datos estructurados para la indexación avanzada de sitios web.
Sintaxis para la indexación avanzada de sitios web
El siguiente formato Backus-Naur extendido resume la sintaxis de la expresión del filtro para construir un filtro de búsqueda de sitios web cuando tienes indexación avanzada de sitios web. Las comillas dobles después del 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 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\""}
Filtros para 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
.
Estos son algunos ejemplos de meta
o filtrado de nombres de atributos de PageMap:
{"filter": "product: ANY(\"networking\",\"compute\")"}
Filtros para documentos que contienen la etiqueta
meta
o el atributo PageMap llamadoproduct
, con su valor comonetworking
ocompute
.{"filter": "NOT product: ANY(\"storage\")"}
Filtros para 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 de etiquetas meta
y Ejemplo de caso de uso de PageMaps.
Cómo filtrar una búsqueda de 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 Agent Builder.
Ve a Apps.
En la página Apps, busca el nombre de tu app y obtén su ID de la columna ID.
Para filtrar una búsqueda de sitios 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" }'
- PROJECT_ID: Es el ID del proyecto
- APP_ID: Es el ID de tu app.
- QUERY: Es el texto de la búsqueda.
FILTER: Es 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 de sitios web, consulta Cómo filtrar expresiones con la búsqueda básica de 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.