Puedes especificar condiciones de aumento 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 los valores de mejora y los resultados se ordenan según corresponda. También puedes especificar valores numéricos y valores de marca de tiempo personalizados que te permiten ordenar los resultados en función de parámetros como la popularidad y la actualización.
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 publicación. La especificación de aumento en el campo boostSpec
anula el control de aumento definido en el campo boostAction
de una configuración de publicación. Para obtener más información sobre los controles de aumento, consulta Acerca de los controles de aumento.
En esta página, se describen los siguientes tipos de especificaciones de aumento:
- Impulsa con una condición fija
- Cómo usar atributos numéricos personalizados para aumentar la efectividad
- Aumento según la actualización
Puedes aplicar estas especificaciones de aumento para consultar apps de búsqueda de contenido multimedia y apps de búsqueda genéricas que contengan 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 tus resultados con una condición fija
Para aumentar los resultados en una cantidad fija según si satisfacen una condición, haz lo siguiente:
Especifica la especificación de aumento 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 la mejora. 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 datos sobre hoteles y sus calificaciones por estrellas. Quieres destacar los hoteles con calificaciones de estrellas superiores 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 aumento de 0.7 para aumentar todos los hoteles con star_rating
de 3.0 o más en una cantidad igual.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Usa atributos numéricos personalizados para aumentar la efectividad
Puedes aumentar los resultados en función de atributos numéricos personalizados de forma lineal por tramos especificando puntos de control y sus valores de aumento correspondientes.
Para especificar una especificación de aumento con atributos numéricos personalizados, haz lo siguiente:
Especifica la especificación de aumento 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 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 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 de aumento asignado 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 aumento de la siguiente manera:
Valor de atributo | Importe de la mejora |
---|---|
Menos que el primer punto de control | Es igual al importe del aumento del primer punto de control. |
Igual al punto de control | Es igual al importe de la mejora asignada |
Entre puntos de control | Se calcula mediante interpolación lineal. |
Mayor que el último punto de control | Es igual al importe de aumento 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 con estrellas. Puedes definir la especificación de aumento 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 esta situación, los resultados de la búsqueda se mejoran de la siguiente manera:
Calificación por estrellas | Importe de la 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 |
Aumento según la actualidad
Puedes aumentar los resultados en función de los atributos de fecha y hora de una manera lineal por tramos si especificas los puntos de control y sus valores de aumento correspondientes.
Para especificar una especificación de aumento con atributos de fecha y hora personalizados, haz lo siguiente:
Especifica la especificación de aumento 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 la mejora. El filtro debe evaluarse como un valor booleano.DATETIME_FIELD_NAME
: Es el nombre del campo de un atributoDATETIME
personalizado, como la fecha de publicación o la fecha de la última actualización, o un atributo inferido predefinido por Google, comodatePublished
.DURATION_VALUE
: Es el valor de duración en el tipo de datosdayTimeDuration
que decide la actualización de un documento. Esto se calcula como la duración entre la fecha y hora en la 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 de aumento asignado al atributo 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 aumento de la siguiente manera:
Valor de duración | Importe de la mejora |
---|---|
Menos que el primer punto de control | Es igual al importe del aumento del primer punto de control. |
Igual a un punto de control determinado | Es igual al importe de la mejora asignada |
Entre puntos de control | Se calcula mediante interpolación lineal. |
Mayor que el último punto de control | Es igual al importe de aumento 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 actualización. Puedes definir la especificación de aumento 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 esta situación, los resultados de la búsqueda se mejoran de la siguiente manera:
Actualidad | Importe de la 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 |
superior 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 página inferidos a tu esquema. Estos datos inferidos incluyen las siguientes propiedades de fecha predefinidas:
datePublished
: La fecha y hora en la que se publicó la página por primera vezdateModified
: La fecha y la hora en la que se modificó la página más recientemente.
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 mejorar tu página. Por ejemplo, puedes definir la especificación de aumento 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 según el mejor esfuerzo, y es posible que las fechas inferidas no coincidan con las reales. Estos campos solo se propagan cuando Google tiene un nivel de confianza alto. Cuando faltan estos valores de fecha, estos campos se vuelven nulos.
Como práctica recomendada, Google recomienda que el propietario del dominio o el administrador del sitio web actualice estas propiedades para tus páginas web y que actualices manualmente el 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 obtén información sobre cómo funcionan los datos estructurados en la Búsqueda de Google.
Para agregar atributos de datos estructurados personalizados que enriquezcan tu índice, consulta Agrega atributos de datos estructurados personalizados al esquema del almacén de datos.
Regula el importe de la 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 aumento afecta significativamente la clasificación de un resultado. Por lo tanto, debes calibrar cuidadosamente el importe del aumento,
sobre todo cuando usas 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 consulta en particular, la siguiente tabla representa la clasificación absoluta sin implementar ningún aumento de cantidad ni filtros de relevancia, y también indica la relevancia de los documentos que se consultarán.
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 | Más bajo | #3 |
D | 1 de mayo de 2024 | Media | #4 |
E | 1 de junio de 2024 | Low (Baja) | #5 |
El 6 de junio de 2024, agregas las siguientes condiciones de búsqueda en tu solicitud de búsqueda:
- El filtro de relevancia se estableció en
LOW
. - Es el valor de impulso, de modo que los documentos publicados durante los últimos 31 días tengan un aumento de 0.7 y los documentos que tengan más de una semana, pero menos de 60 días, tengan un aumento de 0.6.
En el resultado de la búsqueda, los resultados se filtran primero por relevancia y, luego, se aplica el importe del aumento. 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 | Low (Baja) | N.º 1 |
D | 1 de mayo de 2024 | Media | 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 benefician de un gran aumento de clasificación. Los resultados más relevantes se clasifican más abajo.
Por lo tanto, Google recomienda que comiences el importe de la mejora desde un valor bajo y preciso, y que lo ajustes según el resultado de la búsqueda. En este ejemplo, comenzar con aumentos 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 aumento en el campo
boostSpec
. - Para comprender el impacto del aumento en la calidad de la búsqueda de una app de búsqueda genérica, evalúa la calidad de la búsqueda. Para obtener más información, consulta Evalúa la calidad de la búsqueda.