Pode especificar condições de aumento no seu pedido 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. 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:
- Aumente com uma condição fixa
- Aumente o desempenho com atributos numéricos personalizados
- Otimize de acordo com a atualidade
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:
Especifique a especificação do aumento no campo
boostSpec
quando enviar um pedidoservingConfigs.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 é aplicado. 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
promover 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:
Especifique a especificação do aumento no campo
boostSpec
quando enviar um pedidoservingConfigs.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 é aplicado. 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 do 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:
Especifique a especificação do aumento no campo
boostSpec
quando enviar um pedidoservingConfigs.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 é aplicado. O filtro tem de ser avaliado como um valor booleano.DATETIME_FIELD_NAME
: o nome do campo de um atributoDATETIME
personalizado, como a data de publicação ou a data da última atualização, ou um atributo inferido pela Google predefinido, comodatePublished
.DURATION_VALUE
: o valor de duração nodayTimeDuration
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 como59D
. Da mesma forma, a duração de dois dias e meio pode ser expressa como2DT12H
. 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 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 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 à respetiva atualização. 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 |
Regule o valor do aumento com o filtro de relevância
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, especialmente 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 qualquer valor de aumento nem filtros 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 no 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 são classificados mais abaixo.
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?
- Faça um pedido de pesquisa com a especificação do aumento
no campo
boostSpec
. - Para compreender o impacto do aumento na qualidade da pesquisa de uma app de pesquisa personalizada, avalie a qualidade da pesquisa. Para mais informações, consulte Avalie a qualidade da pesquisa.