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'optimisation lui sont appliquées et les résultats sont triés en conséquence. Vous pouvez également spécifier des valeurs numériques et d'horodatage personnalisées qui vous permettent de trier 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 d'amplification, consultez À propos des commandes d'amplification.
Cette page décrit les types suivants de spécifications de boost :
- Booster avec une condition fixe
- Booster les résultats à l'aide d'attributs numériques personnalisés
- Mettre en avant en fonction de la fraîcheur
Booster avec une condition fixe
Pour booster les résultats d'un montant fixe selon qu'ils remplissent ou non une condition :
Spécifiez la spécification d'amplification dans le champ
boostSpec
lorsque vous envoyez une requêteservingConfigs.search
.{ "boostSpec": { "conditionBoostSpecs": { "condition": "BOOST_CONDITION", "boost": BOOST_VALUE } } }
La spécification contient les paramètres suivants :
BOOST_CONDITION
: expression de filtre de texte permettant de sélectionner les documents auxquels le boost est appliqué. Le filtre doit renvoyer une valeur booléenne.BOOST_VALUE
: nombre à virgule flottante compris dans la plage [-1,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 mis en avant (ils apparaissent plus haut dans les résultats).
Exemple d'utilisation
Supposons que votre data store contienne des données sur les hôtels et leurs notes. Vous souhaitez booster les hôtels dont la note est supérieure ou égale à trois étoiles. La note en étoiles est disponible dans le champ numérique star_rating
. Vous pouvez spécifier condition
dans boostSpec
comme star_rating >= 3.0
et une valeur de boost de 0,7 pour booster tous les hôtels avec star_rating
de 3,0 ou plus d'un montant égal.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Booster les résultats à l'aide d'attributs numériques personnalisés
Vous pouvez améliorer 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 d'amélioration correspondantes.
Pour spécifier une spécification d'amplification à l'aide d'attributs numériques personnalisés :
Spécifiez la spécification d'amplification dans le champ
boostSpec
lorsque vous envoyez une requêteservingConfigs.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 permettant de sélectionner les documents auxquels le boost est appliqué. Le filtre doit renvoyer une valeur booléenne.CUSTOM_ATTRIBUTE_FIELD_NAME
: nom du champ de l'attribut numérique personnalisé dont la valeur détermine le montant du boost.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 dans la plage [-1,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 mis en avant (ils apparaissent plus haut dans les résultats). Indique le montant du boost mappé à l'attribut personnalisé pour un point de contrôle donné.
Lorsqu'un document dans les résultats de recherche répond à la condition spécifiée, un montant d'optimisation est appliqué comme suit :
Valeur d'attribut | Montant du boost |
---|---|
Inférieur au premier point de contrôle | Équivaut à l'augmentation du premier point de contrôle |
Égal au point de contrôle | Est égal au montant du boost mappé |
Entre les points de contrôle | Calculé par interpolation linéaire |
Supérieur au dernier point de contrôle | Équivaut au montant du boost du dernier point de contrôle |
Exemple d'utilisation
Supposons que votre data store contienne des données sur les hôtels et leurs notes. Vous souhaitez améliorer les résultats de recherche d'hôtels en fonction de 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 mis en avant 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é à l'aide de l'interpolation linéaire. |
égale à 4,0 | 0,30 |
entre 4,0 et 4,5 | entre 0,30 et 0,32, calculé à l'aide de l'interpolation linéaire. |
supérieur ou égal à 4,5 | 0,32 |
Booster selon la fraîcheur
Vous pouvez booster les résultats en fonction des attributs datetime 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'amplification à l'aide d'attributs de date et heure personnalisés, procédez comme suit :
Spécifiez la spécification d'amplification dans le champ
boostSpec
lorsque vous envoyez une requêteservingConfigs.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 permettant de sélectionner les documents auxquels le boost est appliqué. Le filtre doit renvoyer une valeur booléenne.DATETIME_FIELD_NAME
: nom du champ d'un attributDATETIME
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 quedatePublished
.DURATION_VALUE
: valeur de durée dans le type de donnéesdayTimeDuration
qui détermine la fraîcheur d'un document. Elle est calculée 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 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 forme59D
. De même, la durée de deux jours et demi peut être exprimée sous la forme2DT12H
. Pour en savoir plus, consultez ControlPoint.BOOST_AMOUNT
: nombre à virgule flottante compris dans la plage [-1,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 mis en avant (ils apparaissent plus haut dans les résultats). Indique le montant du boost associé à l'attribut datetime personnalisé pour un point de contrôle donné.
Lorsqu'un document dans les résultats de recherche répond à la condition spécifiée, un montant d'optimisation est appliqué comme suit :
Valeur de durée | Montant du boost |
---|---|
Inférieur au premier point de contrôle | Équivaut à l'augmentation du premier point de contrôle |
Égal à un point de contrôle donné | Est égal au montant du boost mappé |
Entre les points de contrôle | Calculé par interpolation linéaire |
Supérieur au dernier point de contrôle | Équivaut au montant du boost du dernier point de contrôle |
Exemple de cas d'utilisation avec un attribut de date et heure personnalisé
Supposons que votre data store contienne des données structurées où chaque document comporte une date de publication. Vous souhaitez améliorer les résultats de recherche en fonction de leur fraîcheur. 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 mis en avant comme suit :
Actualisation | Montant du boost |
---|---|
inférieur ou égal à sept jours | 0,40 |
entre 7 et 30 jours | entre 0,40 et 0,37, calculé à l'aide de l'interpolation linéaire |
30 jours | 0,37 |
entre 30 et 60 jours | entre 0,37 et 0,32, calculé à l'aide de l'interpolation linéaire. |
60 jours | 0,32 |
entre 60 et 90 jours | entre 0,32 et 0,0, calculé à l'aide de l'interpolation linéaire. |
supérieur ou égal à 90 jours | 0,0 |
Réguler le montant de l'amélioration 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 d'amplification a un impact significatif sur le classement d'un résultat. Par conséquent, vous devez calibrer soigneusement le montant du boost, en particulier lorsque vous utilisez le champ boostSpec
avec le filtre de pertinence. Pour en savoir plus sur le filtre de pertinence, consultez Filtrer les recherches par pertinence au niveau du document.
Imaginons que vous ayez différents documents avec des dates de publication différentes. Pour une requête spécifique, le tableau suivant représente le classement absolu sans implémenter de montant de boost ni de filtres de pertinence. Il 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 demande :
- Le filtre de pertinence est défini sur
LOW
. - Améliorez la valeur de sorte que les documents publiés au cours des 31 derniers jours soient améliorés d'une valeur de 0,7 et que les documents datant de plus d'une semaine, mais de moins de 60 jours, soient améliorés d'une valeur de 0,6.
Dans les résultats de recherche, les résultats sont d'abord filtrés par pertinence, puis le montant de l'augmentation 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 en tête des résultats, car ils sont boostés par un montant de boost élevé. Les résultats les plus pertinents sont classés plus bas.
Par conséquent, Google vous recommande de commencer par un montant de boost faible et précis, puis de l'ajuster en fonction des résultats de recherche. Dans cet exemple, commencer par des valeurs de boost de 0,1 ou moins peut permettre d'obtenir des résultats plus pertinents en haut de page.
Étapes suivantes
- Envoyez une requête de recherche avec la spécification de boost dans le champ
boostSpec
. - Pour comprendre l'impact de l'amplification sur la qualité de la recherche d'une application de recherche personnalisée, évaluez la qualité de la recherche. Pour en savoir plus, consultez Évaluer la qualité de la recherche.