Booster les résultats de recherche (ancienne fonctionnalité)

Vous pouvez spécifier des conditions de boost dans votre requête de recherche pour promouvoir ou rétrograder certains documents dans vos résultats de recherche. Lorsqu'un document remplit les conditions spécifiées, des valeurs d'amélioration lui sont appliquées et les résultats sont classés en conséquence. Vous pouvez également spécifier des valeurs numériques et des codes temporels personnalisés qui vous permettent de classer les résultats en fonction de paramètres tels que la popularité et la fraîcheur.

La spécification de boost dans une requête de recherche est différente d'un contrôle de boost associé à une configuration de diffusion. Pour en savoir plus sur les commandes de boost, consultez À propos des commandes de boost.

Cette page décrit les types de spécifications d'amélioration suivants :

Booster avec une condition fixe

Pour booster les résultats d'un montant fixe selon qu'ils remplissent ou non une condition, procédez comme suit :

  1. Spécifiez la spécification de boost dans le champ boostSpec lorsque vous envoyez une requête servingConfigs.search.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
          "condition": "BOOST_CONDITION",
          "boost": BOOST_VALUE
        }
      }
    }
    

    La spécification contient les paramètres suivants :

    • BOOST_CONDITION : expression de filtre de texte pour sélectionner les documents auxquels l'amélioration est appliquée. Le filtre doit renvoyer une valeur booléenne.
    • BOOST_VALUE : nombre à virgule flottante compris entre -1 et 1. Lorsque la valeur est négative, les résultats sont rétrogradés (ils apparaissent plus bas dans les résultats). Lorsque la valeur est positive, les résultats sont promus (ils apparaissent plus haut dans les résultats).

Exemple d'utilisation

Supposons que votre data store contienne des données sur des hôtels et leurs notes. Vous souhaitez booster les hôtels ayant une note supérieure ou égale à trois étoiles. La note est disponible dans le champ numérique star_rating. Vous pouvez spécifier le condition dans le boostSpec en tant que star_rating >= 3.0 et une valeur de boost de 0,7 pour booster tous les hôtels avec un star_rating de 3,0 ou plus d'un montant égal.

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

Booster à l'aide d'attributs numériques personnalisés

Vous pouvez booster les résultats en fonction d'attributs numériques personnalisés de manière linéaire par morceaux en spécifiant des points de contrôle et leurs valeurs de boost correspondantes.

Pour spécifier une spécification de boost à l'aide d'attributs numériques personnalisés, procédez comme suit :

  1. Spécifiez la spécification de boost dans le champ boostSpec lorsque vous envoyez une requête 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 spécification contient les paramètres suivants :

    • BOOST_CONDITION : expression de filtre de texte pour sélectionner les documents auxquels l'amélioration est appliquée. Le filtre doit renvoyer une valeur booléenne.
    • CUSTOM_ATTRIBUTE_FIELD_NAME : nom de champ de l'attribut numérique personnalisé dont la valeur détermine le montant de l'amélioration.
    • CUSTOM_ATTRIBUTE_VALUE : valeur numérique de l'attribut personnalisé pour un point de contrôle donné avec un type de données de chaîne. Par exemple, "3.3" ou "12". Pour en savoir plus, consultez ControlPoint.
    • BOOST_AMOUNT : nombre à virgule flottante compris entre -1 et 1. Lorsque la valeur est négative, les résultats sont rétrogradés (ils apparaissent plus bas dans les résultats). Lorsque la valeur est positive, les résultats sont promus (ils apparaissent plus haut dans les résultats). Indique le montant de boost mappé à l'attribut personnalisé pour un point de contrôle donné.

Lorsqu'un document du résultat de recherche remplit la condition spécifiée, un montant d'amélioration est appliqué comme suit :

Valeur d'attribut Montant du boost
Inférieur au premier point de contrôle Est égal au montant de boost du premier point de contrôle
Égal au point de contrôle Est égal au montant de boost mappé
Entre les points de contrôle Est calculé par interpolation linéaire
Supérieur au dernier point de contrôle Est égal au montant de boost du dernier point de contrôle

Exemple d'utilisation

Supposons que votre data store contienne des données sur des hôtels et leurs notes. Vous souhaitez booster les résultats de recherche d'hôtels proportionnellement à leur nombre d'étoiles. Vous pouvez définir la spécification de boost comme suit :

{
  "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
            }
          ]
        }
    }
  }
}

Dans ce scénario, les résultats de recherche sont boostés comme suit :

Étoiles Montant du boost
inférieur ou égal à 3,5 0,25
entre 3,5 et 4,0 entre 0,25 et 0,30, calculé par interpolation linéaire
égal à 4.0 0,30
entre 4.0 et 4.5 entre 0,30 et 0,32, calculé par interpolation linéaire
supérieure ou égale à 4,5 0,32

Booster en fonction de la fraîcheur

Vous pouvez booster les résultats en fonction des attributs de date et d'heure de manière linéaire par morceaux en spécifiant des points de contrôle et leurs valeurs de boost correspondantes.

Pour spécifier une spécification d'amélioration à l'aide d'attributs de date et d'heure personnalisés, procédez comme suit :

  1. Spécifiez la spécification de boost dans le champ boostSpec lorsque vous envoyez une requête 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 spécification contient les paramètres suivants :

    • BOOST_CONDITION : expression de filtre de texte pour sélectionner les documents auxquels l'amélioration est appliquée. Le filtre doit renvoyer une valeur booléenne.
    • DATETIME_FIELD_NAME : nom de champ d'un attribut DATETIME personnalisé, tel que la date de publication ou la date de la dernière mise à jour, ou d'un attribut prédéfini déduit par Google, tel que datePublished.
    • DURATION_VALUE : valeur de durée dans le type de données dayTimeDuration qui détermine l'actualisation d'un document. Il est calculé comme la durée entre la date et l'heure de la recherche et la date et l'heure de l'attribut de date et d'heure personnalisé d'un document. La valeur de la durée doit être spécifiée au format ISO 8601, selon le modèle [nD][T[nH][nM][nS]]. Par exemple, la durée entre le 1er janvier 2024 et le 1er mars 2024 peut être exprimée sous la forme 59D. De même, la durée de deux jours et demi peut être exprimée sous la forme 2DT12H. Pour en savoir plus, consultez ControlPoint.
    • BOOST_AMOUNT : nombre à virgule flottante compris entre -1 et 1. Lorsque la valeur est négative, les résultats sont rétrogradés (ils apparaissent plus bas dans les résultats). Lorsque la valeur est positive, les résultats sont promus (ils apparaissent plus haut dans les résultats). Indique le montant du boost mappé à l'attribut de date et d'heure personnalisé pour un point de contrôle donné.

Lorsqu'un document du résultat de recherche remplit la condition spécifiée, un montant d'amélioration est appliqué comme suit :

Valeur de durée Montant du boost
Inférieur au premier point de contrôle Est égal au montant de boost du premier point de contrôle
Égal à un point de contrôle donné Est égal au montant de boost mappé
Entre les points de contrôle Est calculé par interpolation linéaire
Supérieur au dernier point de contrôle Est égal au montant de boost du dernier point de contrôle

Exemple de cas d'utilisation avec un attribut datetime personnalisé

Supposons que votre data store contienne des données structurées dans lesquelles chaque document comporte une date de publication. Vous souhaitez booster les résultats de recherche proportionnellement à leur actualité. Vous pouvez définir la spécification de boost comme suit :

{
  "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
            }
          ]
        }
    }
  }
}

Dans ce scénario, les résultats de recherche sont boostés comme suit :

Actualisation Montant du boost
inférieur ou égal à 7 jours 0,40
entre 7 et 30 jours entre 0,40 et 0,37, calculé par interpolation linéaire
égal à 30 jours 0,37
entre 30 et 60 jours entre 0,37 et 0,32, calculé par interpolation linéaire
égal à 60 jours 0,32
entre 60 et 90 jours entre 0,32 et 0,0, calculé à l'aide de l'interpolation linéaire
supérieure ou égale à 90 jours 0,0

Réguler le montant du boost avec le filtre de pertinence

En plus des facteurs qui influencent le classement d'un résultat, tels que la correspondance des mots clés, la correspondance du contexte et la pertinence, la condition de boost a un impact significatif sur le classement d'un résultat. Par conséquent, vous devez calibrer soigneusement le montant de boost, en particulier lorsque vous utilisez le champ boostSpec avec un filtre de pertinence. Pour en savoir plus sur le filtre de pertinence, consultez Filtrer les recherches par pertinence au niveau du document.

Supposons que vous disposiez de différents documents avec des dates de publication différentes. Pour une requête donnée, le tableau suivant représente le classement absolu sans implémenter de montant de boost ni de filtres de pertinence, et indique la pertinence des documents par rapport à la requête.

Document Date de publication Pertinence Classement
A 1er février 2024 Élevée #1
B 1er mars 2024 Élevée #2
C 1er avril 2024 Le plus faible #3
D 1er mai 2024 Moyenne #4
E 1er juin 2024 Faible #5

Le 6 juin 2024, vous ajoutez les conditions de recherche suivantes à votre requête de recherche :

  • Filtre de pertinence défini sur LOW.
  • Valeur de boost telle que les documents publiés au cours des 31 derniers jours sont boostés d'une valeur de 0,7 et les documents datant de plus d'une semaine, mais de moins de 60 jours sont boostés d'une valeur de 0,6.

Dans le résultat de votre recherche, les résultats sont d'abord filtrés par pertinence, puis le montant du boost est appliqué. Par conséquent, les conditions appliquées modifient le classement des pages dans les résultats de la manière suivante :

Document Date de publication Pertinence Classement
E 1er juin 2024 Faible #1
D 1er mai 2024 Moyenne #2
A 1er février 2024 Élevée #3
B 1er mars 2024 Élevée #4

Le résultat le moins pertinent est filtré en raison du filtre de pertinence. Les documents les moins pertinents pour une requête sont classés parmi les meilleurs résultats, car ils sont boostés par un montant de boost important. Les résultats les plus pertinents sont classés plus bas.

Par conséquent, Google vous recommande de commencer par une valeur de boost faible et précise, puis de l'ajuster en fonction des résultats de recherche. Dans cet exemple, commencer par des montants de boost de 0,1 ou moins peut permettre d'obtenir des résultats plus pertinents en haut de la page.

Étapes suivantes