Melhore os resultados da pesquisa

Pode especificar condições de aumento na sua solicitação de pesquisa para promover ou rebaixar determinados documentos nos resultados da pesquisa. Quando um documento cumpre as condições especificadas, são-lhe aplicados valores de aumento e os resultados são ordenados em conformidade. Também pode especificar valores numéricos personalizados e valores de data/hora que lhe permitem ordenar os resultados com base em parâmetros como popularidade e novidade.

A especificação de aumento num pedido de pesquisa é diferente de um controlo de aumento que está anexado a uma configuração de publicação. A especificação de aumento no campo boostSpec substitui o controlo de aumento definido no campo boostAction de uma configuração de publicação. Para mais informações sobre os controlos de aumento, consulte o artigo Acerca dos controlos de aumento.

Esta página descreve os seguintes tipos de especificações de aumento:

Pode aplicar estas especificações de aumento às apps de pesquisa de multimédia de consulta e às apps de pesquisa personalizadas que contêm dados estruturados, não estruturados e de Websites. Estas especificações não são aplicáveis a apps de pesquisa de cuidados de saúde.

Aumente com uma condição fixa

Para aumentar os resultados por um valor fixo com base no cumprimento de uma condição, faça o seguinte:

  1. Especifique a especificação do aumento no campo boostSpec quando enviar um pedido servingConfigs.search.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
          "condition": "BOOST_CONDITION",
          "boost": BOOST_VALUE
        }
      }
    }
    

    A especificação contém os seguintes parâmetros:

    • BOOST_CONDITION: uma expressão de filtro de texto para selecionar os documentos aos quais o aumento se aplica. O filtro tem de ser avaliado como um valor booleano.
    • BOOST_VALUE: um número de vírgula flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são despromovidos (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados).

Exemplo de utilização

Suponhamos que o seu repositório de dados contém dados sobre hotéis e as respetivas classificações por estrelas. Quer aumentar os hotéis com classificações de estrelas iguais ou superiores a três. A classificação por estrelas está disponível no campo numérico star_rating. Pode especificar o condition no boostSpec como star_rating >= 3.0 e um valor de aumento de 0,7 para aumentar todos os hotéis com star_rating de 3,0 ou superior por um valor igual.

{
  "boostSpec": {
    "conditionBoostSpecs": {
      "condition": "star_rating>=3.0",
      "boost": 0.7
    }
  }
}

Aumente o desempenho com atributos numéricos personalizados

Pode aumentar os resultados com base em atributos numéricos personalizados de forma linear por partes especificando pontos de controlo e os respetivos valores de aumento.

Para especificar uma especificação de aumento usando atributos numéricos personalizados, faça o seguinte:

  1. Especifique a especificação do aumento no campo boostSpec quando enviar um pedido servingConfigs.search.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
            "condition": "BOOST_CONDITION",
            "boostControlSpec": {
              "attributeType": "NUMERICAL",
              "interpolationType": "LINEAR",
              "fieldName": "CUSTOM_ATTRIBUTE_FIELD_NAME",
              "controlPoints": [
                {
                  "attributeValue": "CUSTOM_ATTRIBUTE_VALUE_1",
                  "boostAmount": BOOST_AMOUNT_1
                },
                {
                  "attributeValue": "CUSTOM_ATTRIBUTE_VALUE_2",
                  "boostAmount": BOOST_AMOUNT_2
                }
              ]
            }
        }
      }
    }
    

    A especificação contém os seguintes parâmetros:

    • BOOST_CONDITION: uma expressão de filtro de texto para selecionar os documentos aos quais o aumento se aplica. O filtro tem de ser avaliado como um valor booleano.
    • CUSTOM_ATTRIBUTE_FIELD_NAME: o nome do campo do atributo numérico personalizado cujo valor decide o valor do aumento.
    • CUSTOM_ATTRIBUTE_VALUE: o valor numérico do atributo personalizado para um determinado ponto de controlo com um tipo de dados de string. Por exemplo, "3.3" ou "12". Para mais informações, consulte o artigo ControlPoint.
    • BOOST_AMOUNT: um número de vírgula flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são despromovidos (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados). Indica o valor de aumento mapeado para o atributo personalizado de um determinado ponto de controlo.

Quando um documento no resultado da pesquisa cumpre a condição especificada, é aplicado um valor de aumento da seguinte forma:

Valor do atributo Valor do aumento
Inferior ao primeiro ponto de controlo É igual ao valor do aumento do primeiro ponto de controlo
Igual ao ponto de controlo É igual ao valor do aumento mapeado
Entre pontos de controlo É calculado através da interpolação linear
Superior ao último ponto de controlo É igual ao valor do aumento do último ponto de controlo

Exemplo de utilização

Suponhamos que o seu repositório de dados contém dados sobre hotéis e as respetivas classificações por estrelas. Quer aumentar os resultados da pesquisa de hotéis proporcionalmente às respetivas classificações por estrelas. Pode definir a especificação do aumento da seguinte forma:

{
  "boostSpec": {
    "conditionBoostSpecs": {
        "condition": "star_rating >= 3.0",
        "boostControlSpec": {
          "attributeType": "NUMERICAL",
          "interpolationType": "LINEAR",
          "fieldName": "star_rating",
          "controlPoints": [
            {
              "attributeValue": "3.5",
              "boostAmount": 0.25
            },
            {
              "attributeValue": "4.0",
              "boostAmount": 0.30
            },
            {
              "attributeValue": "4.5",
              "boostAmount": 0.32
            }
          ]
        }
    }
  }
}

Neste cenário, os resultados da pesquisa são otimizados da seguinte forma:

Número de estrelas Valor do aumento
inferior ou igual a 3,5 0,25
entre 3,5 e 4,0 Entre 0,25 e 0,30, calculado através da interpolação linear
igual a 4.0 0,30
entre 4,0 e 4,5 entre 0,30 e 0,32, calculado através da interpolação linear
superior ou igual a 4,5 0,32

Aumente de acordo com a atualidade

Pode aumentar os resultados com base nos atributos de data/hora de forma linear por partes especificando pontos de controlo e os respetivos valores de aumento.

Para especificar uma especificação de aumento usando atributos de data/hora personalizados, faça o seguinte:

  1. Especifique a especificação do aumento no campo boostSpec quando enviar um pedido servingConfigs.search.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
            "condition": "BOOST_CONDITION",
            "boostControlSpec": {
              "fieldName": "DATETIME_FIELD_NAME",
              "attributeType": "FRESHNESS",
              "interpolationType": "LINEAR",
              "controlPoints": [
                {
                  "attributeValue": "DURATION_VALUE_1",
                  "boostAmount": BOOST_AMOUNT_1
                },
                {
                  "attributeValue": "DURATION_VALUE_2",
                  "boostAmount": BOOST_AMOUNT_2
                }
              ]
            }
        }
      }
    }
    

    A especificação contém os seguintes parâmetros:

    • BOOST_CONDITION: uma expressão de filtro de texto para selecionar os documentos aos quais o aumento se aplica. O filtro tem de ser avaliado como um valor booleano.
    • DATETIME_FIELD_NAME: o nome do campo de um atributo DATETIME personalizado, como a data de publicação ou a data da última atualização, ou um atributo inferido pela Google predefinido, como datePublished.
    • DURATION_VALUE: o valor de duração no dayTimeDuration tipo de dados que determina a atualidade de um documento. Isto é calculado como a duração entre a data/hora em que a pesquisa é realizada e a data/hora do atributo de data/hora personalizado de um documento. O valor da duração tem de ser especificado de acordo com o formato ISO 8601 no padrão [nD][T[nH][nM][nS]]. Por exemplo, a duração entre 1 de janeiro de 2024 e 1 de março de 2024 pode ser expressa como 59D. Da mesma forma, a duração de dois dias e meio pode ser expressa como 2DT12H. Para mais informações, consulte o artigo ControlPoint.
    • BOOST_AMOUNT: um número de vírgula flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são despromovidos (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados). Indica o valor do aumento mapeado para o atributo de data/hora personalizado para um determinado ponto de controlo.

Quando um documento no resultado da pesquisa cumpre a condição especificada, é aplicado um valor de aumento da seguinte forma:

Valor da duração Valor do aumento
Inferior ao primeiro ponto de controlo É igual ao valor do aumento do primeiro ponto de controlo
Igual a um determinado ponto de controlo É igual ao valor do aumento mapeado
Entre pontos de controlo É calculado por interpolação linear
Superior ao último ponto de controlo É igual ao valor do aumento do último ponto de controlo

Exemplo de utilização com um atributo de data/hora personalizado

Suponhamos que o seu repositório de dados contém dados estruturados em que cada documento tem uma data de publicação. Quer aumentar os resultados da pesquisa proporcionalmente à sua atualidade. Pode definir a especificação do aumento da seguinte forma:

{
  "boostSpec": {
    "conditionBoostSpecs": {
        "condition": true,
        "boostControlSpec": {
          "fieldName": "publication_date",
          "attributeType": "FRESHNESS",
          "interpolationType": "LINEAR",
          "controlPoints": [
            {
              "attributeValue": "7D",
              "boostAmount": 0.40
            },
            {
              "attributeValue": "30D",
              "boostAmount": 0.37
            },
            {
              "attributeValue": "60D",
              "boostAmount": 0.32
            },
            {
              "attributeValue": "90D",
              "boostAmount": 0
            }
          ]
        }
    }
  }
}

Neste cenário, os resultados da pesquisa são otimizados da seguinte forma:

Atualidade Valor do aumento
inferior ou igual a 7 dias 0,40
entre 7 e 30 dias entre 0,40 e 0,37, calculado através da interpolação linear
igual a 30 dias 0,37
entre 30 e 60 dias entre 0,37 e 0,32, calculado através da interpolação linear
igual a 60 dias 0,32
entre 60 e 90 dias entre 0,32 e 0,0, calculado através da interpolação linear
superior ou igual a 90 dias 0.0

Exemplo de utilização com uma data da página inferida pela Google

Ao rastrear as páginas Web no seu arquivo de dados do Website, a Google infere os dados das páginas através das propriedades que se aplicam ao seu conteúdo. O Vertex AI Search adiciona estas propriedades de dados de páginas inferidas ao seu esquema. Estes dados inferidos incluem as seguintes propriedades de data predefinidas:

  • datePublished: a data e a hora em que a página foi publicada pela primeira vez
  • dateModified: a data e a hora em que a página foi modificada mais recentemente

Estas propriedades são indexadas automaticamente. Pode usar diretamente estas propriedades de data para enriquecer a sua pesquisa sem as adicionar ao esquema. Pode usar estas propriedades predefinidas para melhorar a sua página. Por exemplo, pode definir a especificação do aumento definindo o campo fieldName como pageModified da seguinte forma:

{
  "boostSpec": {
    "conditionBoostSpecs": {
        "condition": true,
        "boostControlSpec": {
          "fieldName": "dateModified",
          "attributeType": "FRESHNESS",
          "interpolationType": "LINEAR",
          "controlPoints": [
            {
              "attributeValue": "7D",
              "boostAmount": 0.35
            },
            {
              "attributeValue": "30D",
              "boostAmount": 0.30
            }
          ]
        }
    }
  }
}

A Google infere estas datas com base no melhor esforço e as datas inferidas podem não corresponder às datas reais. Estes campos só são preenchidos quando a Google tem uma confiança elevada. Quando estes valores de data estão em falta, estes campos tornam-se anuláveis.

Como prática recomendada, a Google recomenda que o proprietário do domínio ou o administrador do Website atualize estas propriedades para as suas páginas Web e que atualize manualmente o seu arquivo de dados do Website da Vertex AI Search após a atualização. Para mais informações, consulte a publicação no blogue Ajude a Pesquisa Google a saber qual a melhor data para a sua página Web e saiba como funcionam os dados estruturados na Pesquisa Google.

Para adicionar atributos de dados estruturados personalizados para enriquecer o seu índice, consulte o artigo Adicione atributos de dados estruturados personalizados ao esquema da loja de dados

Ajuste do valor do aumento

Além dos fatores que influenciam a classificação de um resultado, como a correspondência de palavras-chave, a correspondência de contexto e a relevância, a condição de aumento afeta significativamente a classificação de um resultado. Por conseguinte, tem de calibrar cuidadosamente o valor do aumento. A Google recomenda que comece com um valor de aumento baixo e preciso, como 0,1 ou menos, e o ajuste com base no resultado da pesquisa.

Exemplo de utilização com filtro de relevância

A regulamentação do valor do aumento é especialmente importante quando usa o campo boostSpec com o filtro de relevância. Para mais informações sobre o filtro de relevância, consulte o artigo Filtre as pesquisas por relevância ao nível do documento.

Suponhamos que tem documentos diferentes com datas de publicação diferentes. Para uma consulta específica, a tabela seguinte representa a classificação absoluta sem implementar nenhuma condição de aumento nem filtro de relevância e indica a relevância dos documentos para a consulta.

Documento Data de publicação Relevância Classificação
A 1 de fevereiro de 2024 Alto #1
B 1 de março de 2024 Alto #2
C 1 de abril de 2024 Mais baixas #3
D 1 de maio de 2024 Médio #4
E 1 de junho de 2024 Baixo #5

A 6 de junho de 2024, adiciona as seguintes condições de pesquisa ao seu pedido de pesquisa:

  • Filtro de relevância definido como LOW.
  • Aumente o valor de forma que os documentos publicados durante os últimos 31 dias sejam aumentados por um valor de 0,7 e os documentos com mais de uma semana, mas menos de 60 dias, sejam aumentados por um valor de 0,6.

No resultado da pesquisa, os resultados são primeiro filtrados por relevância e, em seguida, é aplicado o valor do aumento. Por conseguinte, as condições aplicadas alteram a classificação das páginas nos resultados da seguinte forma:

Documento Data de publicação Relevância Classificação
E 1 de junho de 2024 Baixo #1
D 1 de maio de 2024 Médio #2
A 1 de fevereiro de 2024 Alto #3
B 1 de março de 2024 Alto #4

O resultado com a relevância mais baixa é filtrado devido ao filtro de relevância. Os documentos menos relevantes para uma consulta são classificados como principais resultados porque são aumentados por um valor de aumento elevado. Os resultados mais relevantes têm uma classificação inferior.

Por conseguinte, a Google recomenda que comece o valor do aumento com um valor baixo e preciso e ajuste o valor consoante o resultado da pesquisa. Neste exemplo, começar com valores de aumento de 0,1 ou menos pode gerar resultados mais relevantes na parte superior.

O que se segue?