Filtrar a pesquisa do site

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 transferiu os dados do site para o repositório. Para mais informações, consulte Criar um app de pesquisa.

Sobre as expressões de filtro

Use expressões de filtro para criar filtros de pesquisa do site. A forma de criar os filtros varia de acordo com a ativação da indexação avançada de sites. Consulte uma das seções a seguir, dependendo se você tem a pesquisa básica ou a 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

O formulário Backus-Naur estendido a seguir resume a sintaxe da expressão de filtro para criar um filtro de pesquisa de sites quando você tem a pesquisa básica de sites. As aspas duplas após o dois-ponto em um filtro são aplicadas estritamente.

    # 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

Estes são os campos disponíveis para filtrar a pesquisa do site quando você tem a pesquisa básica do 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 de highRange ou abaixo dele para ser incluído na resposta. Especifique highRange e lowRange 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 de lowRange ou acima para ser incluído na resposta. Especifique lowRange e highRange 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 conferir uma lista de tipos de arquivo aceitos, consulte Tipos de arquivo indexáveis pelo Google.

  • lr (string): restringe os resultados da pesquisa a documentos escritos em um idioma específico. Para conferir uma lista de idiomas compatíveis, consulte Parâmetros de consulta (lr).

  • rights (string): filtra os resultados da pesquisa com base na licença. Para saber quais valores são aceitos, consulte Parâmetros de consulta (direitos).

  • siteSearch (string) Especifica um padrão de URL para as páginas da Web em que sua consulta precisa pesquisar.

Exemplos de pesquisa básica no site

Confira alguns exemplos de filtro para a pesquisa básica de sites:

  • {"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}

    Filtra documentos que são: (1) dos EUA e (2) no domínio https://example.com/example_domain.

  • {"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}

    Filtra documentos que são: (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 do filtro com a indexação avançada de sites, que está ativada.

Campos disponíveis para indexação avançada de sites

Quando você tem a indexação avançada de sites, é possível filtrar a pesquisa do site usando estes campos:

  • siteSearch (string): um padrão de URL para as páginas da Web que sua consulta precisa pesquisar.
  • 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 Usar dados estruturados para a indexação avançada de sites.

Sintaxe para a indexação avançada de sites

O formulário Backus-Naur estendido a seguir resume a sintaxe da expressão de filtro para criar um filtro de pesquisa de sites quando você tem a indexação avançada de sites. As aspas duplas após o dois-ponto em um filtro são aplicadas estritamente.

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 nomes de tags meta 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 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/*\""}

    Filtra documentos em qualquer domínio que corresponda ao primeiro ou segundo padrão de URL. Por exemplo, https://altostrat.com/subdomain/pages/title_page, https://cymbalgroup.com/subdomain/pages/title_page ou https://altostrat.com/subdomain/pages/INFO.

Confira alguns exemplos de filtragem de nome de atributo meta ou PageMap:

  • {"filter": "product: ANY(\"networking\",\"compute\")"}

    Filtra documentos que contêm a tag meta ou o atributo PageMap chamado product, com o valor networking ou compute.

  • {"filter": "NOT product: ANY(\"storage\")"}

    Filtra documentos que não contêm a tag meta ou o nome do atributo PageMap product com o valor storage.

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.

Para filtrar uma pesquisa de site, siga estas etapas:

  1. Encontre o ID do app. Se você já tiver o ID do app, pule para a próxima etapa.

    1. No Console do Google Cloud, acesse a página Criador de agentes.

      Acessar "Apps".

    2. Na página Apps, encontre o nome do app e confira o ID dele na coluna ID.

  2. Para filtrar uma pesquisa de site, use o campo filter com o método engines.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: