En esta página se explica cómo filtrar las consultas de búsqueda de una aplicación de búsqueda con datos de sitios web.
Antes de empezar
Asegúrate de haber creado una aplicación y un almacén de datos, y de haber insertado datos de sitio web en tu almacén de datos. Para obtener más información, consulta el artículo Crear una aplicación 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 crear los filtros varía en función de si has activado la indexación avanzada de sitios web. Consulta una de las siguientes secciones, en función de 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 en sitios web
En esta sección se explica el comportamiento de las expresiones de filtro en la búsqueda básica de sitios web (la indexación avanzada de sitios web está desactivada).
Sintaxis de la búsqueda básica en sitios web
La siguiente forma de Backus-Naur extendida resume la sintaxis de las expresiones de filtro para crear un filtro de búsqueda de sitio web cuando tiene la búsqueda básica de sitio web. Las comillas dobles después de los dos puntos de un filtro son obligatorias.
# 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 que puede usar para filtrar la búsqueda en su sitio web cuando tiene la búsqueda básica en el sitio web:
cr
(cadena): restringe los resultados de búsqueda a documentos de un país concreto. Para ver una lista de los valores admitidos, consulte Valores de la colección de países.highRange
(cadena): especifica el límite superior del intervalo 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. EspecifiquehighRange
ylowRange
para crear una consulta de búsqueda dentro del intervalo de estos parámetros.lowRange
(cadena) Especifica el límite inferior del intervalo 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. EspecifiquelowRange
yhighRange
para crear una consulta de búsqueda dentro del intervalo de estos parámetros.fileType
(cadena) Restringe los resultados de búsqueda a documentos con una extensión específica. Para ver una lista de los tipos de archivo admitidos, consulta Tipos de archivo que Google puede indexar.lr
(cadena) Restringe los resultados de búsqueda a documentos escritos en un idioma específico. Para ver una lista de los idiomas admitidos, consulte Parámetros de consulta (lr).rights
(cadena): filtra los resultados de búsqueda en función de la licencia. Para ver 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úsqueda básica en sitios web
Estos son algunos ejemplos de filtros para búsquedas básicas en sitios web:
{"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}
Filtra los documentos que sean de Estados Unidos y que estén en el dominio
https://example.com/example_domain
.{"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}
Filtra los documentos que sean archivos PDF y estén en inglés.
{"filter": "rights:\"cc_publicdomain\""}
Filtros para documentos que son de dominio público.
Filtrar expresiones con la 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
Si tienes la indexación avanzada de sitios web, puedes filtrar la búsqueda en tu sitio web con estos campos:
siteSearch
(cadena): patrón de URL de las páginas web en las que debe buscar tu consulta.- Nombres de etiquetas
meta
y nombres de atributos de PageMap: datos estructurados de sus páginas web que se pueden añadir al esquema de su almacén de datos para que los campos se puedan buscar, recuperar e indexar. Para obtener más información, consulta Usar datos estructurados para la indexación avanzada de sitios web.
Sintaxis de la indexación avanzada de sitios web
La siguiente notación de Backus-Naur ampliada resume la sintaxis de las expresiones de filtro para crear un filtro de búsqueda de sitios web cuando se tiene la indexación avanzada de sitios web. Las comillas dobles después de los dos puntos de un filtro son obligatorias.
Para filtrar 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 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
Aquí tienes 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 están 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 los dominios que coincidan 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 el 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 muestran algunos ejemplos de filtros por nombre de atributo meta
o PageMap:
{"filter": "product: ANY(\"networking\",\"compute\")"}
Filtra los documentos que contengan la etiqueta
meta
o el atributo PageMap llamadoproduct
, con el valornetworking
ocompute
.{"filter": "NOT product: ANY(\"storage\")"}
Filtra los documentos que no contengan la etiqueta
meta
o el nombre del atributo PageMapproduct
con el valorstorage
.
Para obtener más información sobre los nombres de las etiquetas meta
y los nombres de los atributos de PageMap que se usan para la indexación, consulta Ejemplo de caso práctico de etiquetas meta
y Ejemplo de caso práctico de PageMaps.
Filtrar una búsqueda en un sitio web
Para filtrar una búsqueda en un sitio web, sigue estos pasos:
Busca el ID de tu aplicación. Si ya tienes el ID de tu aplicación, ve al siguiente paso.
En la Google Cloud consola, ve a la página Aplicaciones de IA.
En la página Aplicaciones, busca el nombre de tu aplicación y consulta su ID en la columna ID.
Para filtrar una búsqueda de 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" }'
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto.APP_ID
: el ID de tu aplicación.QUERY
: el texto de la consulta que se va a buscar.FILTER
: un campo de texto para filtrar la búsqueda mediante una expresión de filtro. El valor predeterminado es una cadena vacía.Para obtener información sobre cómo crear un filtro para la búsqueda básica de sitios web, consulta Expresiones de filtro 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 la indexación avanzada de sitios web.