Esta página explica como filtrar consultas de pesquisa para uma app de pesquisa com dados do Website.
Antes de começar
Certifique-se de que criou uma app e um repositório de dados e que carregou dados do Website para o repositório de dados. Para mais informações, consulte Crie uma app de pesquisa.
Acerca das expressões de filtro
Use expressões de filtro para criar os filtros de pesquisa do seu Website. A forma como constrói os filtros varia consoante tenha ativado ou não a indexação avançada de Websites. Consulte uma das seguintes secções, consoante tenha a pesquisa básica de Websites ou a indexação avançada de Websites:
Expressões de filtro para a pesquisa básica de Websites
Esta secção explica o comportamento das expressões de filtro com a pesquisa básica de Websites (a indexação avançada de Websites está desativada).
Sintaxe para pesquisa básica de Websites
O seguinte formulário Backus–Naur expandido resume a sintaxe da expressão de filtro para criar um filtro de pesquisa de Website quando tem a pesquisa de Website básica. As aspas após os dois pontos num 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 de Websites
Seguem-se os campos disponíveis para filtrar a pesquisa no seu Website quando tem a pesquisa básica no Website:
cr
(string) Restringe os resultados da pesquisa a documentos de um país específico. Para ver uma lista de valores suportados, consulte os Valores de recolha de países.highRange
(string) Especifica o limite superior do intervalo de pesquisa. Se um documento contiver um número, este tem de ser igual ou inferior ao valor dehighRange
para que o documento seja incluído na resposta. EspecifiquehighRange
elowRange
para criar uma consulta de pesquisa dentro do intervalo destes parâmetros.lowRange
(string) Especifica o limite inferior do intervalo de pesquisa. Se um documento contiver um número, o número tem de ser igual ou superior ao valor delowRange
para que esse documento seja incluído na resposta. EspecifiquelowRange
ehighRange
para criar uma consulta de pesquisa dentro do intervalo destes parâmetros.fileType
(string) Restringe os resultados da pesquisa a documentos com uma extensão especificada. Para ver uma lista dos tipos de ficheiros suportados, consulte o artigo Tipos de ficheiros indexáveis pelo Google.lr
(string) Restringe os resultados da pesquisa a documentos escritos num idioma especificado. Para ver uma lista dos idiomas suportados, consulte o artigo Parâmetros de consulta (lr).rights
(string) Filtra os resultados da pesquisa com base no licenciamento. Para ver os valores suportados, consulte os parâmetros de consulta (direitos).siteSearch
(string) Especifica um padrão de URL para as páginas Web nas quais a sua consulta deve pesquisar.
Exemplos de pesquisa básica de Websites
Seguem-se alguns exemplos de filtros para a pesquisa básica de Websites:
{"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}
Filtra documentos que: (1) são dos EUA e (2) estão no domínio
https://example.com/example_domain
.{"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}
Filtros para documentos que são: (1) ficheiros PDF e (2) estão em inglês.
{"filter": "rights:\"cc_publicdomain\""}
Filtros para documentos que são de domínio público.
Filtrar expressões com a indexação avançada de Websites
Esta secção explica o comportamento das expressões de filtro com a indexação avançada de Websites (a indexação avançada de Websites está ativada).
Campos disponíveis para a indexação avançada de Websites
Quando tem a indexação avançada de Websites, pode filtrar a pesquisa do seu Website usando estes campos:
siteSearch
(string): um padrão de URL para as páginas Web nas quais a sua consulta deve pesquisar.- Nomes de etiquetas
meta
e nomes de atributos PageMap: dados estruturados das suas páginas Web que podem ser adicionados ao esquema do seu arquivo de dados para tornar os campos pesquisáveis, recuperáveis e indexáveis. Para mais informações, consulte o artigo Use dados estruturados para a indexação avançada de Websites.
Sintaxe para a indexação avançada de Websites
O seguinte Extended Backus–Naur form resume a sintaxe da expressão de filtro para criar um filtro de pesquisa de Website quando tem a indexação avançada de Websites. As aspas após os dois pontos num filtro são aplicadas de forma rigorosa.
Quando filtra por 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;
Quando filtra por meta
nomes de etiquetas e nomes de atributos do 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 Websites
Seguem-se alguns exemplos de filtros para a indexação avançada de Websites com o siteSearch
:
{"filter": "siteSearch:\"https://example.com/example_domain\""}
Filtros para documentos que estão no domínio
https://example.com/example_domain
. Por exemplo,https://example.com/example_domain/index.html
.{"filter": "siteSearch:\"https://example.com/subdomains/*\""}
Filtros para documentos que estão em quaisquer domínios que correspondam 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 se encontram em quaisquer domínios que correspondam ao primeiro ou segundo padrão de URL. Por exemplo,
https://altostrat.com/subdomain/pages/title_page
,https://cymbalgroup.com/subdomain/pages/title_page
ouhttps://altostrat.com/subdomain/pages/INFO
.
Seguem-se alguns exemplos de filtragem de nomes de atributos meta
ou PageMap:
{"filter": "product: ANY(\"networking\",\"compute\")"}
Filtros para documentos que contêm a etiqueta
meta
ou o atributo PageMap denominadoproduct
, com o respetivo valor comonetworking
oucompute
.{"filter": "NOT product: ANY(\"storage\")"}
Filtros para documentos que não contêm a etiqueta
meta
ou o nome do atributo PageMapproduct
com o respetivo valor comostorage
.
Para mais informações sobre os nomes das etiquetas meta
e os nomes dos atributos PageMap usados para indexação,
consulte o exemplo de utilização das etiquetas meta
e o exemplo de utilização dos PageMaps.
Filtre uma pesquisa de Website
Para filtrar uma pesquisa de Website, siga estes passos:
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Aplicações de IA.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Para filtrar uma pesquisa de Website, use o campo
filter
com o 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" }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.APP_ID
: o ID da sua app.QUERY
: o texto da consulta a pesquisar.FILTER
: um campo de texto para filtrar a pesquisa através de uma expressão de filtro. O valor predefinido é uma string vazia.Para obter informações sobre como criar um filtro para a pesquisa básica de Websites, consulte o artigo Expressões de filtro com a pesquisa básica de Websites.
Para obter informações sobre como criar um filtro para a indexação avançada de Websites, consulte o artigo Expressões de filtro com a indexação avançada de Websites.