Mejora los resultados de la búsqueda (heredado)

Puedes especificar condiciones de aumento en tu solicitud de búsqueda para promocionar o descender de nivel 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 según corresponda. También puedes especificar valores numéricos y de marca de tiempo personalizados que te permitan ordenar los resultados según parámetros como la popularidad y la actualidad.

La especificación de boosting en una solicitud de búsqueda es diferente de un control de boosting que se adjunta a una configuración de entrega. 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:

Impulso con una condición fija

Para aumentar los resultados en una cantidad fija según si cumplen con una condición, haz lo siguiente:

  1. Especifica la especificación de boosting en el campo boostSpec cuando envíes una solicitud servingConfigs.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 descienden de nivel (aparecen más abajo en los resultados). Cuando el valor es positivo, se promocionan los resultados (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 impulsar los hoteles con calificaciones por 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 un importe igual.

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

Aumenta con atributos numéricos personalizados

Puedes aumentar los resultados según los atributos numéricos personalizados de forma lineal por partes especificando los puntos de control y sus valores de aumento correspondientes.

Para especificar una especificación de aumento con atributos numéricos personalizados, haz lo siguiente:

  1. Especifica la especificación de boosting en el campo boostSpec cuando envíes una solicitud 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
                }
              ]
            }
        }
      }
    }
    

    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 aumento. 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 el importe de la 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 descienden de nivel (aparecen más abajo en los resultados). Cuando el valor es positivo, se promocionan los resultados (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 mejora de la siguiente manera:

Valor de atributo Importe de la mejora
Menor que el primer punto de control Es igual al importe de aumento del primer punto de control.
Igual al punto de control Es igual al importe de aumento asignado.
Entre puntos de control Se calcula mediante la 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 información 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 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 potencian 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 la 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

Aumenta según la actualidad

Puedes aumentar los resultados según los atributos de fecha y hora de forma lineal por partes especificando 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:

  1. Especifica la especificación de boosting en el campo boostSpec cuando envíes una solicitud 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
                }
              ]
            }
        }
      }
    }
    

    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 DATETIME personalizado, como la fecha de publicación o la fecha de la última actualización, o un atributo predefinido inferido por Google, como datePublished.
    • DURATION_VALUE: Es el valor de duración en el tipo de datos dayTimeDuration 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 la 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 como 59D. Del mismo modo, la duración de dos días y medio se puede expresar como 2DT12H. 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 descienden de nivel (aparecen más abajo en los resultados). Cuando el valor es positivo, se promocionan los resultados (aparecen más arriba en los resultados). Indica el importe de aumento asignado 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 mejora de la siguiente manera:

Valor de duración Importe de la mejora
Menor que el primer punto de control Es igual al importe de aumento del primer punto de control.
Igual a un punto de control determinado Es igual al importe de aumento asignado.
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.

Caso de uso de ejemplo con un atributo datetime personalizado

Supongamos que tu almacén de datos contiene datos estructurados en los que cada documento tiene una fecha de publicación. Quieres aumentar los resultados de la búsqueda en proporción a su actualidad. 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 potencian 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 la 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 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 concordancia de palabras clave, la concordancia de contexto y la relevancia, la condición de aumento afecta la clasificación de un resultado de forma significativa. Por lo tanto, debes calibrar con cuidado el importe de la mejora, en especial cuando uses el campo boostSpec con el filtro de relevancia. Para obtener más información sobre el filtro de relevancia, consulta Filtra las búsquedas por relevancia a nivel del documento.

Supongamos que tienes diferentes documentos con distintas fechas de publicación. Para una consulta en particular, la siguiente tabla representa la clasificación absoluta sin implementar ningún importe de aumento ni filtros de relevancia, y también indica 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 Media #4
E 1 de junio de 2024 Baja #5

El 6 de junio de 2024, agregas las siguientes condiciones de búsqueda en tu solicitud de búsqueda:

  • Se estableció el filtro de relevancia en LOW.
  • Mejora el valor de modo que los documentos publicados durante los últimos 31 días se mejoren en un valor de 0.7 y los documentos con más de una semana de antigüedad, pero con menos de 60 días, se mejoren en un valor de 0.6.

En el resultado de la búsqueda, los resultados se filtran primero por relevancia y, luego, se aplica el importe de 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 Baja #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 excluye debido al filtro de relevancia. Los documentos que son menos relevantes para una consulta se clasifican como resultados principales porque se potencian con un gran importe de potenciación. Los resultados más pertinentes se clasifican más abajo.

Por lo tanto, Google recomienda que comiences el importe de aumento desde un valor bajo y preciso, y que lo ajustes según el resultado de la búsqueda. En este ejemplo, comenzar con importes de aumento de 0.1 o menos podría recuperar resultados más pertinentes en la parte superior.

¿Qué sigue?