Filtre a pesquisa de Websites

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 de highRange para que o documento seja incluído na resposta. Especifique highRange e lowRange 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 de lowRange para que esse documento seja incluído na resposta. Especifique lowRange e highRange 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 metanomes 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 ou https://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 denominado product, com o respetivo valor como networking ou compute.

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

    Filtros para documentos que não contêm a etiqueta meta ou o nome do atributo PageMap product com o respetivo valor como storage.

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.

Para filtrar uma pesquisa de Website, siga estes passos:

  1. Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.

    1. Na Google Cloud consola, aceda à página Aplicações de IA.

      Aceda a Apps

    2. Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.

  2. Para filtrar uma pesquisa de Website, 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 o seguinte: