Vous pouvez spécifier des conditions d'amélioration 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 personnalisées et des valeurs d'horodatage qui vous permettent de classer les résultats en fonction de paramètres tels que la popularité et la fraîcheur.
La spécification d'amélioration dans une requête de recherche est différente d'une commande d'amélioration associée à une configuration de diffusion. Pour en savoir plus sur les commandes d'amélioration, consultez À propos des commandes d'amélioration.
Cette page décrit les types de spécifications d'amélioration suivants :
- Amélioration avec une condition fixe
- Amélioration à l'aide d'attributs numériques personnalisés
- Amélioration en fonction de la fraîcheur
Amélioration avec une condition fixe
Pour améliorer les résultats d'un montant fixe en fonction de leur conformité à une condition, procédez comme suit :
Spécifiez la spécification d'amélioration dans le
boostSpecchamp lorsque vous envoyez uneservingConfigs.searchrequête.{ "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 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 les hôtels et leurs étoiles. Vous souhaitez améliorer les hôtels dont le nombre d'étoiles est supérieur ou égal à trois. Le nombre d'étoiles est disponible dans le champ numérique star_rating. Vous pouvez spécifier le
condition dans le boostSpec comme star_rating >= 3.0 et une valeur d'amélioration de 0,7
pour améliorer 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
}
}
}
Amélioration à 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'amélioration à l'aide d'attributs numériques personnalisés, procédez comme suit :
Spécifiez la spécification d'amélioration dans le
boostSpecchamp lorsque vous envoyez uneservingConfigs.searchrequête.{ "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 l'amélioration est appliquée. 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 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 l'amélioration mappé à l'attribut personnalisé pour un point de contrôle donné.
Lorsqu'un document dans le résultat de recherche remplit la condition spécifiée, un montant d'amélioration est appliqué comme suit :
| Valeur d'attribut | Montant de l'amélioration |
|---|---|
| Inférieur au premier point de contrôle | Égal au montant de l'amélioration du premier point de contrôle |
| Égal au point de contrôle | Égal au montant de l'amélioration mappé |
| Entre les points de contrôle | Calculé par interpolation linéaire |
| Supérieur au dernier point de contrôle | Égal au montant de l'amélioration du dernier point de contrôle |
Exemple d'utilisation
Supposons que votre data store contienne des données sur les hôtels et leurs étoiles. Vous souhaitez améliorer les résultats de recherche d'hôtels en proportion de leur nombre d'étoiles. Vous pouvez définir la spécification d'amélioration 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 améliorés comme suit :
| Étoiles | Montant de l'amélioration |
|---|---|
| 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érieur ou égal à 4,5 | 0,32 |
Amélioration en fonction de la fraîcheur
Vous pouvez améliorer les résultats en fonction d'attributs de date et d'heure 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'amélioration à l'aide d'attributs de date et d'heure personnalisés, procédez comme suit :
Spécifiez la spécification d'amélioration dans le
boostSpecchamp lorsque vous envoyez uneservingConfigs.searchrequête.{ "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 l'amélioration est appliquée. Le filtre doit renvoyer une valeur booléenne.DATETIME_FIELD_NAME: nom du champ d'un attribut personnaliséDATETIME, tel que la date de publication ou la date de la dernière mise à jour, ou un attribut prédéfini déduit par Google, tel quedatePublished.DURATION_VALUE: valeur de durée dans le type de donnéesdayTimeDurationqui détermine la fraîcheur d'un document. Elle est calculée comme la durée entre la date et l'heure d'exécution 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 par59D. De même, la durée de deux jours et demi peut être exprimée par2DT12H. 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 l'amélioration mappé à l'attribut de date et d'heure personnalisé pour un point de contrôle donné.
Lorsqu'un document dans le résultat de recherche remplit la condition spécifiée, un montant d'amélioration est appliqué comme suit :
| Valeur de la durée | Montant de l'amélioration |
|---|---|
| Inférieur au premier point de contrôle | Égal au montant de l'amélioration du premier point de contrôle |
| Égal à un point de contrôle donné | Égal au montant de l'amélioration mappé |
| Entre les points de contrôle | Calculé par interpolation linéaire |
| Supérieur au dernier point de contrôle | Égal au montant de l'amélioration du dernier point de contrôle |
Exemple d'utilisation avec un attribut de date et d'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 proportion de leur fraîcheur. Vous pouvez définir la spécification d'amélioration 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 améliorés comme suit :
| Actualisation | Montant de l'amélioration |
|---|---|
| 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é par interpolation linéaire |
| Supérieur ou égal à 90 jours | 0,0 |
Réguler le montant de l'amélioration avec un filtre de pertinence
Outre les facteurs qui influencent le classement d'un résultat, tels que la correspondance des mots clés, la correspondance contextuelle et la pertinence, la condition d'amélioration a un impact significatif sur le classement d'un résultat. Par conséquent, vous devez calibrer soigneusement le montant de l'amélioration, 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 ayez différents documents avec des dates de publication différentes. Pour une requête particulière, le tableau suivant représente le classement absolu sans implémenter de montant d'amélioration 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 d'amélioration telle que les documents publiés au cours des 31 derniers jours sont améliorés d'une valeur de 0,7 et les documents datant de plus d'une semaine, mais de moins de 60 jours, sont améliorés d'une valeur de 0,6.
Dans votre résultat de recherche, les résultats sont d'abord filtrés par pertinence, puis le montant de l'amélioration 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 avec la pertinence la plus faible est filtré en raison du filtre de pertinence. Les documents moins pertinents pour une requête sont classés en tant que meilleurs résultats, car ils sont améliorés par un montant d'amélioration important. Les résultats les plus pertinents sont classés plus bas.
Par conséquent, Google vous recommande de commencer le montant de l'amélioration à partir d'une valeur faible et précise, puis d'ajuster la valeur en fonction du résultat de la recherche. Dans cet exemple, commencer par des montants d'amélioration de 0,1 ou moins peut générer des résultats plus pertinents en haut.
Étape suivante
- Effectuez une requête de recherche avec la spécification d'amélioration
dans le champ
boostSpec. - Pour comprendre l'impact de l'amélioration 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.