Esta página explica como filtrar consultas de pesquisa de um app de pesquisa com dados do site.
Antes de começar
Verifique se você criou um app e um repositório de dados e se incorporou os dados do site ao repositório. Para mais informações, consulte Criar um app de pesquisa.
Sobre as expressões de filtro
Usar expressões de filtro para criar filtros de pesquisa no site. Como você construir seus filtros varia se você tiver ativado a indexação avançada de sites. Consulte uma das seções a seguir, dependendo se você tem pesquisa básica de sites ou indexação avançada de sites:
Filtrar expressões para a pesquisa básica no site
Esta seção explica o comportamento da expressão do filtro com a pesquisa básica de sites. A indexação avançada de sites está desativada.
Sintaxe para pesquisa básica no site
A seguinte forma de Backus estendido-Naur resume a expressão de filtro sintaxe para construir um filtro de pesquisa em sites quando você tem uma pesquisa básica em sites. As aspas duplas após o dois-ponto em um filtro são aplicadas de forma rigorosa.
# 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 disponíveis para a pesquisa básica no site
Veja os campos que estão disponíveis para filtrar sua pesquisa no site quando você tem uma pesquisa básica no site:
cr
(string) Restringe os resultados da pesquisa a documentos de um país específico. Para uma lista de valores aceitos, consulte Valores de coleta de países.highRange
(string) Especifica o limite superior do intervalo de pesquisa. Se um documento tiver um número, ele precisa estar no valor dehighRange
ou abaixo dele para ser incluído na resposta. EspecifiquehighRange
elowRange
para criar uma consulta de pesquisa dentro do intervalo desses parâmetros.lowRange
(string) Especifica o limite inferior do intervalo de pesquisa. Se um documento tiver um número, ele precisa estar no valor delowRange
ou acima para ser incluído na resposta. EspecifiquelowRange
ehighRange
para criar uma consulta de pesquisa dentro do intervalo desses parâmetros.fileType
(string): restringe os resultados da pesquisa a documentos com uma extensão especificada. Para uma lista de tipos de arquivos compatíveis, consulte Tipos de arquivo indexáveis por Google.lr
(string) restringe os resultados da pesquisa a documentos escritos em um determinado idioma de destino. Para conferir uma lista de idiomas compatíveis, consulte Parâmetros de consulta (lr).rights
(string) filtra os resultados da pesquisa com base no licenciamento. Para compatíveis valores, consulte Parâmetros de consulta (direitos).siteSearch
(string) Especifica um padrão de URL para as páginas da Web que sua consulta precisa pesquisar.
Exemplos de pesquisa básica no site
Veja alguns exemplos de filtros para a pesquisa básica em sites:
{"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}
Filtros para documentos: (1) dos EUA e (2) do domínio
https://example.com/example_domain
:{"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}
Filtros para documentos: (1) arquivos PDF e (2) Em inglês.
{"filter": "rights:\"cc_publicdomain\""}
Filtra documentos que estão em domínio público.
Filtrar expressões com a indexação avançada de sites
Esta seção explica o comportamento da expressão de filtro com a indexação avançada de sites (a indexação avançada de sites está ativada).
Campos disponíveis para indexação avançada de sites
Com a indexação avançada de sites, você pode filtrar a pesquisa usando estes campos:
siteSearch
(string): um padrão do URL para as páginas da Web que o deve fazer a pesquisa.- Nomes de tags
meta
e nomes de atributos do PageMap: dados estruturados das suas páginas da Web que podem ser adicionados ao esquema do repositório de dados para tornar os campos pesquisáveis, recuperáveis e indexáveis. Para mais informações, consulte Use dados estruturados para indexação avançada de sites.
Sintaxe para indexação avançada de sites
O formulário Extended Backus-Naur a seguir resume a sintaxe da expressão de filtro para criar um filtro de pesquisa de sites quando você tem indexação avançada de sites. As aspas duplas após o dois-ponto em um filtro são aplicadas de forma rigorosa.
Ao filtrar siteSearch
, a sintaxe 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;
Ao filtrar por nomes de tags meta
e nomes de atributos de PageMap, a sintaxe 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;
Exemplos de indexação avançada de sites
Confira alguns exemplos de filtro para a indexação avançada de sites com siteSearch
:
{"filter": "siteSearch:\"https://example.com/example_domain\""}
Filtra documentos no domínio
https://example.com/example_domain
. Por exemplo,https://example.com/example_domain/index.html
.{"filter": "siteSearch:\"https://example.com/subdomains/*\""}
Filtra documentos em qualquer domínio que corresponda a
https://example.com/subdomains/*
. Por exemplo,https://example.com/subdomains/example_subdomain_page
.{"filter": "siteSearch:\"https://altostrat.com/subdomain/pages/*\" OR siteSearch:\"http://cymbalgroup.com/pages/*\""}
Filtros para documentos que estão em domínios correspondentes ao primeiro ou ao segundo padrão do URL. Por exemplo,
https://altostrat.com/subdomain/pages/title_page
,https://cymbalgroup.com/subdomain/pages/title_page
ouhttps://altostrat.com/subdomain/pages/INFO
.
Confira alguns exemplos de filtragem de meta
ou nome de atributo de PageMap:
{"filter": "product: ANY(\"networking\",\"compute\")"}
Filtra documentos que contêm a tag
meta
ou o atributo PageMap chamadoproduct
, com o valornetworking
oucompute
.{"filter": "NOT product: ANY(\"storage\")"}
Filtra documentos que não contêm a tag
meta
ou o nome do atributo PageMapproduct
com o valorstorage
.
Para mais informações sobre os nomes de tags meta
e os nomes de atributos do PageMap usados para indexação,
consulte Exemplo de caso de uso para tags meta
e Exemplo de caso de uso para PageMaps.
Filtrar uma pesquisa no site
Para filtrar uma pesquisa de site, siga estas etapas:
Encontre o ID do app. Se você já tiver o ID do app, pule para a próxima etapa.
No Console do Google Cloud, acesse a página Criador de agentes.
Na página Apps, encontre o nome do app e confira o ID dele na coluna ID.
Para filtrar uma pesquisa no site, use o campo
filter
com oengines.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: o ID do seu projeto.
- APP_ID: o ID do app.
- QUERY: o texto da consulta a ser pesquisada.
FILTER: um campo de texto para filtrar sua pesquisa usando uma expressão de filtro. O valor padrão é uma string vazia.
Para informações sobre como criar um filtro para a pesquisa básica em sites, consulte Expressões de filtro com a pesquisa básica em sites.
Para informações sobre como criar um filtro para a indexação avançada de sites, consulte Expressões de filtro com indexação avançada de sites.