Puedes especificar condiciones de mejora en tu solicitud de búsqueda para promocionar o degradar ciertos documentos en los resultados de la búsqueda. Cuando un documento cumple con las condiciones especificadas, se le aplican valores de mejora y los resultados se ordenan en consecuencia. También puedes especificar valores numéricos y de marca de tiempo personalizados que te permitan ordenar los resultados en función de parámetros como la popularidad y la actualidad.
La especificación de mejora en una solicitud de búsqueda es diferente de un control de mejora que se adjunta a una configuración de publicación. Para obtener más información sobre los controles de mejora, consulta Acerca de los controles de mejora.
En esta página, se describen los siguientes tipos de especificaciones de mejora:
- Mejora con una condición fija
- Mejora con atributos numéricos personalizados
- Mejora según la actualidad
Mejora con una condición fija
Para mejorar los resultados en una cantidad fija según si satisfacen una condición, haz lo siguiente:
Especifica la especificación de mejora en el
boostSpeccampo cuando envíes una solicitudservingConfigs.search.{ "boostSpec": { "conditionBoostSpecs": { "condition": "BOOST_CONDITION", "boost": BOOST_VALUE } } }La especificación contiene los siguientes parámetros:
BOOST_CONDITION: Es una expresión de filtro de texto para seleccionar los documentos a los que se aplica la mejora. El filtro debe evaluarse como un valor booleano.BOOST_VALUE: Es un número de punto flotante en el rango [-1,1]. Cuando el valor es negativo, los resultados se degradan (aparecen más abajo en los resultados). Cuando el valor es positivo, los resultados se promocionan (aparecen más arriba en los resultados).
Ejemplo de caso de uso
Supongamos que tu almacén de datos contiene datos sobre hoteles y sus calificaciones por estrellas. Quieres mejorar los hoteles con calificaciones por estrellas mayores o iguales a tres. La calificación por estrellas está disponible en el campo numérico star_rating. Puedes especificar el
condition en el boostSpec como star_rating >= 3.0 y un valor de mejora de 0.7
para mejorar todos los hoteles con star_rating de 3.0 o superior en la misma cantidad.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Mejora con atributos numéricos personalizados
Puedes mejorar los resultados en función de atributos numéricos personalizados de forma lineal por partes especificando puntos de control y sus valores de mejora correspondientes.
Para especificar una especificación de mejora con atributos numéricos personalizados, haz lo siguiente:
Especifica la especificación de mejora en el
boostSpeccampo cuando envíes una solicitudservingConfigs.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 } ] } } } }La especificación contiene los siguientes parámetros:
BOOST_CONDITION: Es una expresión de filtro de texto para seleccionar los documentos a los que se aplica la mejora. El filtro debe evaluarse como un valor booleano.CUSTOM_ATTRIBUTE_FIELD_NAME: Es el nombre del campo del atributo numérico personalizado cuyo valor decide la cantidad de mejora.CUSTOM_ATTRIBUTE_VALUE: Es el valor numérico del atributo personalizado para un punto de control determinado con un tipo de datos de cadena. Por ejemplo,"3.3"o"12". Para obtener más información, consulta ControlPoint.BOOST_AMOUNT: Es un número de punto flotante en el rango [-1,1]. Cuando el valor es negativo, los resultados se degradan (aparecen más abajo en los resultados). Cuando el valor es positivo, los resultados se promocionan (aparecen más arriba en los resultados). Indica la cantidad de mejora asignada al atributo personalizado para un punto de control determinado.
Cuando un documento en el resultado de la búsqueda cumple con la condición especificada, se aplica una cantidad de mejora de la siguiente manera:
| Valor de atributo | Cantidad de mejora |
|---|---|
| Menor que el primer punto de control | Es igual a la cantidad de mejora del primer punto de control |
| Igual al punto de control | Es igual a la cantidad de mejora asignada |
| Entre los puntos de control | Se calcula mediante interpolación lineal |
| Mayor que el último punto de control | Es igual a la cantidad de mejora del último punto de control |
Ejemplo de caso de uso
Supongamos que tu almacén de datos contiene datos sobre hoteles y sus calificaciones por estrellas. Quieres mejorar los resultados de la búsqueda de hoteles en proporción a sus calificaciones por estrellas. Puedes definir la especificación de mejora de la siguiente manera:
{
"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
}
]
}
}
}
}
En este caso, los resultados de la búsqueda se mejoran de la siguiente manera:
| Calificación por estrellas | Cantidad de mejora |
|---|---|
| Menor o igual que 3.5 | 0.25 |
| Entre 3.5 y 4.0 | Entre 0.25 y 0.30, calculado con interpolación lineal |
| Igual a 4.0 | 0.30 |
| Entre 4.0 y 4.5 | Entre 0.30 y 0.32, calculado con interpolación lineal |
| Mayor o igual que 4.5 | 0.32 |
Mejora según la actualidad
Puedes mejorar los resultados en función de atributos de fecha y hora de forma lineal por partes especificando puntos de control y sus valores de mejora correspondientes.
Para especificar una especificación de mejora con atributos de fecha y hora personalizados, haz lo siguiente:
Especifica la especificación de mejora en el
boostSpeccampo cuando envíes una solicitudservingConfigs.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 } ] } } } }La especificación contiene los siguientes parámetros:
BOOST_CONDITION: Es una expresión de filtro de texto para seleccionar los documentos a los que se aplica la mejora. El filtro debe evaluarse como un valor booleano.DATETIME_FIELD_NAME: Es el nombre del campo de un atributo personalizadoDATETIME, como la fecha de publicación o la fecha de la última actualización, o un atributo predefinido inferido por Google, comodatePublished.DURATION_VALUE: Es el valor de duración endayTimeDurationtipo de datos que decide la actualidad de un documento. Se calcula como la duración entre la fecha y hora en que se realiza la búsqueda y la fecha y hora del atributo de fecha y hora personalizado de un documento. El valor de duración debe especificarse según el formato ISO 8601 en el patrón[nD][T[nH][nM][nS]]. Por ejemplo, la duración entre el 1 de enero de 2024 y el 1 de marzo de 2024 se puede expresar como59D. Del mismo modo, la duración de dos días y medio se puede expresar como2DT12H. Para obtener más información, consulta ControlPoint.BOOST_AMOUNT: Es un número de punto flotante en el rango [-1,1]. Cuando el valor es negativo, los resultados se degradan (aparecen más abajo en los resultados). Cuando el valor es positivo, los resultados se promocionan (aparecen más arriba en los resultados). Indica la cantidad de mejora asignada al atributo de fecha y hora personalizado para un punto de control determinado.
Cuando un documento en el resultado de la búsqueda cumple con la condición especificada, se aplica una cantidad de mejora de la siguiente manera:
| Valor de duración | Cantidad de mejora |
|---|---|
| Menor que el primer punto de control | Es igual a la cantidad de mejora del primer punto de control |
| Igual a un punto de control determinado | Es igual a la cantidad de mejora asignada |
| Entre los puntos de control | Se calcula mediante interpolación lineal |
| Mayor que el último punto de control | Es igual a la cantidad de mejora del último punto de control |
Ejemplo de caso de uso con un atributo de fecha y hora personalizado
Supongamos que tu almacén de datos contiene datos estructurados en los que cada documento tiene una fecha de publicación. Quieres mejorar los resultados de la búsqueda en proporción a su actualidad. Puedes definir la especificación de mejora de la siguiente manera:
{
"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
}
]
}
}
}
}
En este caso, los resultados de la búsqueda se mejoran de la siguiente manera:
| Actualidad | Cantidad de mejora |
|---|---|
| Menor o igual que 7 días | 0.40 |
| Entre 7 y 30 días | Entre 0.40 y 0.37, calculado con interpolación lineal |
| Igual a 30 días | 0.37 |
| Entre 30 y 60 días | Entre 0.37 y 0.32, calculado con interpolación lineal |
| Igual a 60 días | 0.32 |
| Entre 60 y 90 días | Entre 0.32 y 0.0, calculado con interpolación lineal |
| Mayor o igual que 90 días | 0.0 |
Regula la cantidad de mejora con el filtro de relevancia
Además de los factores que influyen en la clasificación de un resultado, como la coincidencia de palabras clave, la coincidencia de contexto y la relevancia, la condición de mejora afecta significativamente la clasificación de un resultado. Por lo tanto, debes calibrar cuidadosamente la cantidad de mejora, en especial cuando usas el campo boostSpec con el filtro de relevancia. Para obtener más
información sobre el filtro de relevancia, consulta
Filtra búsquedas por relevancia a nivel del documento.
Supongamos que tienes diferentes documentos con diferentes fechas de publicación. Para una consulta en particular, la siguiente tabla representa la clasificación absoluta sin implementar ninguna cantidad de mejora ni filtros de relevancia, y muestra la relevancia de los documentos para la consulta.
| Documento | Fecha de publicación | Relevancia | Clasificación |
|---|---|---|---|
| A | 1 de febrero de 2024 | Alta | #1 |
| B | 1 de marzo de 2024 | Alta | N.º 2 |
| C | 1 de abril de 2024 | Más baja | #3 |
| D | 1 de mayo de 2024 | Medio | #4 |
| E | 1 de junio de 2024 | Baja | #5 |
El 6 de junio de 2024, agregas las siguientes condiciones de búsqueda a tu solicitud de búsqueda:
- Filtro de relevancia establecido en
LOW. - Valor de mejora de modo que los documentos publicados durante los últimos 31 días se mejoren en un valor de 0.7 y los documentos más antiguos que una semana, pero más recientes que 60 días, se mejoren en un valor de 0.6.
En el resultado de la búsqueda, primero se filtran los resultados por relevancia y, luego, se aplica la cantidad de mejora. Por lo tanto, las condiciones aplicadas alteran la clasificación de las páginas en los resultados de la siguiente manera:
| Documento | Fecha de publicación | Relevancia | Clasificación |
|---|---|---|---|
| E | 1 de junio de 2024 | Baja | #1 |
| D | 1 de mayo de 2024 | Medio | N.º 2 |
| A | 1 de febrero de 2024 | Alta | #3 |
| B | 1 de marzo de 2024 | Alta | #4 |
El resultado con la relevancia más baja se filtra debido al filtro de relevancia. Los documentos que son menos relevantes para una consulta se clasifican como resultados principales porque se mejoran con una gran cantidad de mejora. Los resultados más relevantes se clasifican más abajo.
Por lo tanto, Google recomienda que comiences la cantidad de mejora con un valor bajo y preciso, y que ajustes el valor según el resultado de la búsqueda. En este ejemplo, comenzar con cantidades de mejora de 0.1 o menos podría generar resultados más relevantes en la parte superior.
¿Qué sigue?
- Realiza una solicitud de búsqueda con la especificación de mejora
en el campo
boostSpec. - Para comprender el impacto de la mejora en la calidad de la búsqueda de una app de búsqueda personalizada, evalúa la calidad de la búsqueda. Para obtener más información, consulta Evalúa la calidad de la búsqueda.