Puedes especificar condiciones de boosting en tu solicitud de búsqueda para promover 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 marcas de tiempo personalizados que te permitan ordenar los resultados según parámetros como la popularidad y la actualidad.
La especificación de aumento en una solicitud de búsqueda es diferente de un control de aumento que se adjunta a una configuración de entrega. La especificación de refuerzo en el campo boostSpec
anula el control de refuerzo definido en el campo boostAction
de una configuración de entrega. Para obtener más información sobre los controles de amplificación, consulta Acerca de los controles de amplificación.
En esta página, se describen los siguientes tipos de especificaciones de refuerzo:
- Potencia con una condición fija
- Potencia el rendimiento con atributos numéricos personalizados
- Impulsa según la actualización
Puedes aplicar estas especificaciones de refuerzo a las apps de búsqueda de contenido multimedia y a las apps de búsqueda personalizadas que contienen datos estructurados, no estructurados y de sitios web. Estas especificaciones no se aplican a las apps de búsqueda de atención médica.
Mejora con una condición fija
Para aumentar los resultados en una cantidad fija según si cumplen con una condición, haz lo siguiente:
Especifica la especificación de refuerzo en el campo
boostSpec
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 el refuerzo. El filtro debe evaluarse como un valor booleano.BOOST_VALUE
: 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 información sobre hoteles y sus calificaciones por estrellas. Quieres potenciar los hoteles con calificaciones de estrellas mayores o iguales a tres. La calificación por estrellas está disponible en el campo numérico star_rating
. Puedes especificar condition
en boostSpec
como star_rating >= 3.0
y un valor de refuerzo de 0.7 para reforzar todos los hoteles con un star_rating
de 3.0 o más en la misma cantidad.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Potencia el modelo con atributos numéricos personalizados
Puedes potenciar los resultados en función de atributos numéricos personalizados de forma lineal por tramos especificando puntos de control y sus valores de potenciación correspondientes.
Para especificar una especificación de aumento con atributos numéricos personalizados, haz lo siguiente:
Especifica la especificación de refuerzo en el campo
boostSpec
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 el refuerzo. El filtro debe evaluarse como un valor booleano.CUSTOM_ATTRIBUTE_FIELD_NAME
: Es el nombre del campo del atributo numérico personalizado cuyo valor determina el importe del aumento.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
: 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 el importe del aumento asociado 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 un importe de refuerzo de la siguiente manera:
Valor de atributo | Importe de la potenciación |
---|---|
Menor que el primer punto de control | Es igual al importe de la potenciación del primer punto de control. |
Igual al punto de control | Es igual al importe del aumento asignado. |
Entre los puntos de control | Se calcula con interpolación lineal. |
Mayor que el último punto de control | Es igual al importe de refuerzo del último punto de control. |
Ejemplo de caso de uso
Supongamos que tu almacén de datos contiene información sobre hoteles y sus calificaciones por estrellas. Quieres potenciar los resultados de la búsqueda de hoteles en proporción a su clasificación por estrellas. Puedes definir la especificación de refuerzo 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 potencian de la siguiente manera:
Calificación por estrellas | Importe de la potenciación |
---|---|
menor o igual a 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 a 4.5 | 0.32 |
Potenciar según la actualidad
Puedes potenciar los resultados en función de los atributos de fecha y hora de forma lineal por tramos especificando los puntos de control y sus valores de potenciación correspondientes.
Para especificar una especificación de refuerzo con atributos de fecha y hora personalizados, haz lo siguiente:
Especifica la especificación de refuerzo en el campo
boostSpec
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 el refuerzo. 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 en el tipo de datosdayTimeDuration
que determina 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 se debe especificar 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
: 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 el importe del aumento asociado 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 un importe de refuerzo de la siguiente manera:
Valor de duración | Importe de la potenciación |
---|---|
Menor que el primer punto de control | Es igual al importe de la potenciación del primer punto de control. |
Igual a un punto de control determinado | Es igual al importe del aumento asignado. |
Entre los puntos de control | Se calcula con interpolación lineal. |
Mayor que el último punto de control | Es igual al importe de refuerzo 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 aumentar la clasificación de los resultados de la búsqueda en proporción a su actualidad. Puedes definir la especificación de refuerzo 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 potencian de la siguiente manera:
Actualidad | Importe de la potenciación |
---|---|
Menor o igual a 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 a 90 días | 0.0 |
Ejemplo de caso de uso con una fecha de página inferida por Google
Cuando rastrea las páginas web en el almacén de datos de tu sitio web, Google infiere los datos de la página con las propiedades que se aplican a tu contenido. Vertex AI Search agrega estas propiedades de datos de la página inferidas a tu esquema. Estos datos inferidos incluyen las siguientes propiedades de fecha predefinidas:
datePublished
: La fecha y hora en que se publicó la página por primera vezdateModified
: La fecha y hora en la que se modificó la página por última vez
Estas propiedades se indexan automáticamente. Puedes usar directamente estas propiedades de fecha para enriquecer tu búsqueda sin agregarlas a tu esquema.
Puedes usar estas propiedades predefinidas para potenciar tu página. Por ejemplo, puedes definir la especificación de refuerzo configurando el campo fieldName
en pageModified
de la siguiente manera:
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": true,
"boostControlSpec": {
"fieldName": "dateModified",
"attributeType": "FRESHNESS",
"interpolationType": "LINEAR",
"controlPoints": [
{
"attributeValue": "7D",
"boostAmount": 0.35
},
{
"attributeValue": "30D",
"boostAmount": 0.30
}
]
}
}
}
}
Google infiere estas fechas de la mejor manera posible, y es posible que no coincidan con las fechas reales. Estos campos solo se propagan cuando Google tiene un alto nivel de confianza. Cuando faltan estos valores de fecha, estos campos se vuelven anulables.
Como práctica recomendada, Google sugiere que el propietario del dominio o el administrador del sitio web actualicen estas propiedades para tus páginas web y que actualices manualmente tu almacén de datos del sitio web de Vertex AI Search después de la actualización. Para obtener más información, consulta la entrada de blog Ayuda a la Búsqueda de Google a saber cuál es la mejor fecha para tu página web y descubre cómo funcionan los datos estructurados en la Búsqueda de Google.
Para agregar atributos de datos estructurados personalizados y enriquecer tu índice, consulta Cómo agregar atributos de datos estructurados personalizados al esquema del almacén de datos.
Ajuste del importe de la potenciación
Además de los factores que influyen en la clasificación de un resultado, como la concordancia de palabras clave, la concordancia de contexto y la relevancia, la condición de refuerzo afecta significativamente la clasificación de un resultado. Por lo tanto, debes calibrar con cuidado el importe del aumento. Google recomienda que comiences con un importe de aumento bajo y preciso, como 0.1 o menos, y que lo ajustes según los resultados de la búsqueda.
Ejemplo de caso de uso con filtro de relevancia
La regulación de la cantidad de refuerzo es especialmente importante cuando se usa el campo boostSpec
con el filtro de relevancia. Para obtener más información sobre el filtro de relevancia, consulta Cómo filtrar búsquedas por relevancia a nivel del documento.
Supongamos que tienes diferentes documentos con diferentes fechas de publicación. Para una búsqueda en particular, la siguiente tabla representa la clasificación absoluta sin implementar ninguna condición de refuerzo ni filtro de relevancia, y muestra la relevancia de los documentos para la búsqueda.
Documento | Fecha de publicación | Relevancia | Clasificación |
---|---|---|---|
A | 1 de febrero de 2024 | Alta | N.º 1 |
B | 1 de marzo de 2024 | Alta | N.º 2 |
C | 1 de abril de 2024 | El más bajo | #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:
- El filtro de relevancia se estableció en
LOW
. - Valor de refuerzo tal que los documentos publicados durante los últimos 31 días se refuerzan con un valor de 0.7 y los documentos de más de una semana, pero de menos de 60 días, se refuerzan con un valor de 0.6.
En los resultados de la búsqueda, primero se filtran los resultados por relevancia y, luego, se aplica el importe de la potenciación. 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 | N.º 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 búsqueda se clasifican como los principales resultados porque se les aplica un aumento grande. Los resultados más pertinentes se clasifican en una posición inferior.
Por lo tanto, Google recomienda que comiences con un valor de aumento bajo y preciso, y que lo ajustes según los resultados de la búsqueda. En este ejemplo, comenzar con importes de refuerzo de 0.1 o menos podría recuperar resultados más relevantes en la parte superior.
¿Qué sigue?
- Realiza una solicitud de búsqueda con la especificación de boosting en el campo
boostSpec
. - Para comprender el impacto del refuerzo 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 Cómo evaluar la calidad de la búsqueda.