Vous pouvez spécifier des conditions d'optimisation dans votre requête de recherche pour promouvoir ou rétrograder certains documents dans vos résultats de recherche. Lorsqu'un document répond aux conditions spécifiées, des valeurs de boost lui sont appliquées et les résultats sont triés en conséquence. Vous pouvez également spécifier des valeurs numériques et des codes temporels personnalisées. qui vous permettent d'organiser les résultats en fonction de paramètres tels que la popularité l'actualisation.
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. La spécification de boost dans le champ boostSpec
remplace le contrôle de boost défini dans le champ boostAction
d'une configuration de diffusion. Pour en savoir plus sur les commandes d'optimisation, consultez
À propos des commandes d'optimisation
Cette page décrit les types de spécifications d'optimisation suivants:
- Booster à une condition fixe
- Booster à l'aide d'attributs numériques personnalisés
- Améliorer en fonction de la fraîcheur
Vous pouvez appliquer ces spécifications de boost pour interroger des applications de recherche multimédia et des applications de recherche génériques contenant des données structurées, non structurées et de site Web. Ces spécifications ne s'appliquent pas aux applications de recherche dans le secteur de la santé.
Booster à une condition fixe
Pour augmenter les résultats d'un montant fixe en fonction de leur conformité à une condition, procédez comme suit :
Spécifiez la spécification de boost 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 pour sélectionner les documents auxquels l'amélioration est appliquée. Le filtre doit renvoyer une valeur booléenne.BOOST_VALUE
: un nombre à virgule flottante compris entre -1 et 1. Lorsque la valeur est négatives, les résultats sont rétrogradés (ils apparaissent plus bas dans le 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 des hôtels et leurs notes. Vous souhaitez
Booster les hôtels dont la note est supérieure ou égale à trois étoiles. La note 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 dont le star_rating
est égal ou supérieur à 3,0 d'une même valeur.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Booster à l'aide d'attributs numériques personnalisés
Vous pouvez optimiser les résultats en fonction d'attributs numériques personnalisés dans un linéaire par morceaux en spécifiant les points de contrôle et les valeurs d'optimisation correspondantes.
Pour spécifier une spécification de boost à l'aide d'attributs numériques personnalisés, procédez comme suit :
Spécifiez la spécification du boost dans le
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
: Une expression de filtre de texte pour sélectionner les documents auxquels l'optimisation est appliquée. Le filtre doit renvoyer une valeur booléenne.CUSTOM_ATTRIBUTE_FIELD_NAME
: nom du champ attribut numérique personnalisé dont la valeur détermine la quantité d'optimisation.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 la section ControlPoint.BOOST_AMOUNT
: valeur de boost mappée sur l'attribut personnalisé pour un point de contrôle donné.
Lorsqu'un document figurant dans les résultats de recherche remplit la condition spécifiée, le montant du boost est appliquée comme suit:
Valeur d'attribut | Montant du boost |
---|---|
Inférieur au premier point de contrôle | Équivaut à la puissance du boosting du premier point de contrôle |
Égal au point de contrôle | Est égal à la quantité de boost indiquée |
Entre des points de contrôle | Il est calculé par interpolation linéaire. |
Supérieure à celle du dernier point de contrôle | Est égale au montant du 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 d'améliorer les résultats de recherche d'hôtels proportionnellement au nombre d'étoiles avis. 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 | comprise entre 0,25 et 0,30, calculée à l'aide de l'interpolation linéaire |
égal à 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 en fonction de la fraîcheur
Vous pouvez améliorer les résultats en fonction des attributs de date et d'heure de manière linéaire par segments en spécifiant des points de contrôle et leurs valeurs d'amélioration correspondantes.
Pour spécifier une spécification de boost à l'aide d'attributs de date et d'heure personnalisés, procédez comme suit :
Spécifiez la spécification de boost 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 pour sélectionner les documents auxquels l'amélioration est appliquée. Le filtre doit évaluer en une valeur booléenne.DATETIME_FIELD_NAME
: nom de champ d'un objet personnaliséDATETIME
, comme la date de publication ou de dernière mise à jour, ou un attribut prédéfini par Google, tel quedatePublished
.DURATION_VALUE
: valeur de la durée dans Type de donnéesdayTimeDuration
qui détermine l'actualisation d'un document. Cette valeur est calculée comme suit : durée entre la date et l'heure auxquelles la recherche est effectuée et la date et l'heure auxquelles de l'attribut datetime personnalisé d'un document. La valeur de la durée doit être spécifiée selon le format ISO 8601 dans le format[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 la section ControlPoint.BOOST_AMOUNT
: montant du boost associé au datetime pour un point de contrôle donné.
Lorsqu'un document figurant dans les résultats de recherche remplit la condition spécifiée, le montant du boost est appliquée comme suit:
Valeur de durée | Montant du boost |
---|---|
Inférieur au premier point de contrôle | Équivaut à la puissance du boosting du premier point de contrôle |
Égal à un point de contrôle donné | Est égal à la quantité de boost indiquée |
Entre les points de contrôle | est calculée par interpolation linéaire ; |
Supérieur au dernier point de contrôle | Équivaut à la puissance du boosting du dernier point de contrôle |
Exemple de cas d'utilisation avec un attribut date/heure personnalisé
Supposons que votre data store contienne des données structurées dans lesquelles chaque document a un date de publication. Vous souhaitez améliorer les résultats de recherche en fonction de 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 |
---|---|
moins de sept jours | 0,40 |
entre 7 et 30 jours | comprise entre 0,40 et 0,37, calculée à l'aide de l'interpolation linéaire. |
égal à 30 jours | 0,37 |
entre 30 et 60 jours | entre 0,37 et 0,32, calculé à l'aide de l'interpolation linéaire |
égal à 60 jours | 0,32 |
entre 60 et 90 jours | comprise entre 0,32 et 0,0, calculée à l'aide de l'interpolation linéaire |
supérieure ou égale à 90 jours | 0,0 |
Exemple de cas d'utilisation utilisant une date de page inférée par Google
Lorsque Google explore les pages Web de votre entrepôt de données de site Web, il infère les données de page à l'aide des propriétés qui s'appliquent à votre contenu. Vertex AI Search ajoute ces propriétés de données de page déduites à votre du schéma. Ces données déduites inclut les propriétés de date prédéfinies suivantes:
datePublished
: date et heure de la première publication de la page.dateModified
: date et heure de la dernière modification de la page.
Ces propriétés sont indexées automatiquement. Vous pouvez utiliser directement ces propriétés de date pour enrichir votre recherche sans les ajouter à votre schéma.
Vous pouvez utiliser ces propriétés prédéfinies pour optimiser votre page. Par exemple, vous pouvez définir la spécification de boost en définissant le champ fieldName
sur pageModified
comme suit :
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": true,
"boostControlSpec": {
"fieldName": "dateModified",
"attributeType": "FRESHNESS",
"interpolationType": "LINEAR",
"controlPoints": [
{
"attributeValue": "7D",
"boostAmount": 0.35
},
{
"attributeValue": "30D",
"boostAmount": 0.30
}
]
}
}
}
}
Google infère ces dates de la manière la plus optimale possible. Il est possible qu'elles ne correspondent pas aux dates réelles. Ces champs ne sont renseignés que lorsque Google est très confiant. Lorsque ces valeurs de date sont manquantes, ces champs deviennent nullables.
Google recommande de mettre à jour ces propriétés pour vos pages Web par le propriétaire de votre domaine ou l'administrateur de votre site Web, et de mettre à jour manuellement votre magasin de données de site Web Vertex AI Search après la mise à jour. Pour plus d'informations, consultez le Centre d'aide La recherche Google connaît la meilleure date pour votre Web et découvrez le fonctionnement des données structurées dans Google Rechercher.
Pour ajouter des attributs de données structurées personnalisés afin d'enrichir votre index, consultez Ajouter des attributs de données structurées personnalisés au schéma de data store
Régler 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 de mots clés, la correspondance de 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 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 la section Filtrer les recherches en fonction de la pertinence au niveau du document.
Supposons que vous disposiez de différents documents avec des dates de publication différentes. Pour une une requête donnée, le tableau suivant représente le classement absolu sans en implémentant des filtres de quantité ou de pertinence, et indique la pertinence des documents à interroger.
Document | Date de publication | Pertinence | Classement |
---|---|---|---|
A | 1er févr. 2024 | Élevée | #1 |
B | 1er mars 2024 | Élevée | #2 |
C | 1er avr. 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 soient améliorés d'une valeur de 0,7 et 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 du boost est appliqué. Par conséquent, les conditions appliquées modifient 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évr. 2024 | Élevée | #3 |
B | 1er mars 2024 | Élevée | #4 |
Le résultat le moins pertinent est filtré par le filtre de pertinence. Les documents moins pertinents par rapport à une requête sont classés parmi les meilleurs résultats car elles sont fortement boostées. Les résultats les plus pertinents sont moins bien classés.
Par conséquent, Google vous recommande de commencer par une valeur faible et précise, puis de l'ajuster en fonction des résultats de recherche. Dans cet exemple, commencer avec un montant de boost de 0,1 ou moins peut générer des résultats plus pertinents en haut de la page.
Étape suivante
- Envoyer une requête de recherche avec la spécification Boost
dans le champ
boostSpec
. - Pour comprendre l'impact de l'amélioration sur la qualité de recherche d'une application de recherche générique, évaluer la qualité de la recherche. Pour en savoir plus, consultez Évaluer la qualité de la recherche