Puoi specificare le condizioni di boosting nella richiesta di ricerca per promuovere o declassare determinati documenti nei risultati di ricerca. Quando un documento soddisfa le condizioni specificate, vengono applicati i valori di boost e i risultati vengono ordinati di conseguenza. Puoi anche specificare valori numerici e timestamp personalizzati che ti consentono di ordinare i risultati in base a parametri come popolarità e freschezza.
La specifica di boosting in una richiesta di ricerca è diversa da un controllo del boosting
allegato a una configurazione di pubblicazione. La specifica del boost nel campo boostSpec
sostituisce il controllo del boost definito nel campo boostAction
di una configurazione di pubblicazione. Per saperne di più sui controlli per i boost, vedi
Informazioni sui controlli per i boost.
In questa pagina vengono descritti i seguenti tipi di specifiche di boost:
- Aumentare l'offerta con una condizione fissa
- Aumentare l'offerta utilizzando gli attributi numerici personalizzati
- Aumento in base all'aggiornamento
Puoi applicare queste specifiche di boost alle app di ricerca di contenuti multimediali e alle app di ricerca personalizzate che contengono dati strutturati, non strutturati e di siti web. Queste specifiche non sono applicabili alle app di ricerca per l'assistenza sanitaria.
Aumentare con una condizione fissa
Per aumentare i risultati di un importo fisso in base al fatto che soddisfino una condizione, svolgi le seguenti operazioni:
Specifica la specifica di boosting nel campo
boostSpec
quando invii una richiestaservingConfigs.search
.{ "boostSpec": { "conditionBoostSpecs": { "condition": "BOOST_CONDITION", "boost": BOOST_VALUE } } }
La specifica contiene i seguenti parametri:
BOOST_CONDITION
: un'espressione di filtro di testo per selezionare i documenti a cui viene applicato l'incremento. Il filtro deve restituire un valore booleano.BOOST_VALUE
: un numero in virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono declassati (vengono visualizzati più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (vengono visualizzati più in alto nei risultati).
Caso d'uso di esempio
Supponiamo che il tuo datastore contenga dati sugli hotel e sulle relative valutazioni a stelle. Vuoi
promuovere gli hotel con una classificazione in stelle maggiore o uguale a tre. La valutazione a stelle è
disponibile nel campo numerico star_rating
. Puoi specificare condition
in boostSpec
come star_rating >= 3.0
e un valore boost di 0,7 per aumentare
in egual misura tutti gli hotel con star_rating
pari o superiore a 3.0.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Aumentare l'offerta utilizzando attributi numerici personalizzati
Puoi migliorare i risultati in base agli attributi numerici personalizzati in modo lineare a tratti specificando i punti di controllo e i relativi valori di incremento.
Per specificare una specifica di incremento utilizzando attributi numerici personalizzati, procedi nel seguente modo:
Specifica la specifica di boosting nel campo
boostSpec
quando invii una richiestaservingConfigs.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 specifica contiene i seguenti parametri:
BOOST_CONDITION
: un'espressione di filtro di testo per selezionare i documenti a cui viene applicato l'incremento. Il filtro deve restituire un valore booleano.CUSTOM_ATTRIBUTE_FIELD_NAME
: il nome del campo dell'attributo numerico personalizzato il cui valore determina l'importo dell'aggiustamento.CUSTOM_ATTRIBUTE_VALUE
: il valore numerico dell'attributo personalizzato per un determinato punto di controllo con un tipo di dati stringa. Ad esempio,"3.3"
o"12"
. Per ulteriori informazioni, vedi ControlPoint.BOOST_AMOUNT
: un numero in virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono declassati (vengono visualizzati più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (vengono visualizzati più in alto nei risultati). Indica l'importo dell'incremento mappato all'attributo personalizzato per un determinato punto di controllo.
Quando un documento nel risultato di ricerca soddisfa la condizione specificata, viene applicato un importo di boost come segue:
Valore attributo | Importo del boost |
---|---|
Inferiore al primo punto di controllo | È uguale all'importo del boost del primo punto di controllo |
Uguale al punto di controllo | È uguale all'importo del boost mappato |
Tra i punti di controllo | Viene calcolato mediante interpolazione lineare |
Superiore all'ultimo punto di controllo | È uguale all'importo del potenziamento dell'ultimo punto di controllo |
Caso d'uso di esempio
Supponiamo che il tuo datastore contenga dati sugli hotel e sulle relative valutazioni a stelle. Vuoi aumentare i risultati di ricerca di hotel in proporzione alle loro classificazioni a stelle. Puoi definire la specifica di incremento nel seguente modo:
{
"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
}
]
}
}
}
}
Per questo scenario, i risultati di ricerca vengono migliorati nel seguente modo:
Stelle | Importo del boost |
---|---|
minore o uguale a 3,5 | 0,25 |
tra 3,5 e 4,0 | tra 0,25 e 0,30, calcolato utilizzando l'interpolazione lineare |
uguale a 4,0 | 0,30 |
tra 4 e 4,5 | tra 0,30 e 0,32, calcolato utilizzando l'interpolazione lineare |
maggiore o uguale a 4,5 | 0,32 |
Incremento in base alla freschezza
Puoi aumentare i risultati in base agli attributi di data e ora in modo lineare a tratti specificando i punti di controllo e i relativi valori di incremento.
Per specificare una specifica di boost utilizzando attributi personalizzati di data e ora:
Specifica la specifica di boosting nel campo
boostSpec
quando invii una richiestaservingConfigs.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 specifica contiene i seguenti parametri:
BOOST_CONDITION
: un'espressione di filtro di testo per selezionare i documenti a cui viene applicato l'incremento. Il filtro deve restituire un valore booleano.DATETIME_FIELD_NAME
: il nome del campo di un attributoDATETIME
personalizzato, ad esempio la data di pubblicazione o la data dell'ultimo aggiornamento, o un attributo predefinito dedotto da Google, ad esempiodatePublished
.DURATION_VALUE
: il valore della durata nel tipo di datidayTimeDuration
che determina la freschezza di un documento. Viene calcolato come la durata tra la data e l'ora in cui viene eseguita la ricerca e la data e l'ora dell'attributo data e ora personalizzato di un documento. Il valore della durata deve essere specificato in base al formato ISO 8601 nel pattern[nD][T[nH][nM][nS]]
. Ad esempio, la durata tra il 1° gennaio 2024 e il 1° marzo 2024 può essere espressa come59D
. Analogamente, la durata di due giorni e mezzo può essere espressa come2DT12H
. Per ulteriori informazioni, vedi ControlPoint.BOOST_AMOUNT
: un numero in virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono declassati (vengono visualizzati più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (vengono visualizzati più in alto nei risultati). Indica l'importo dell'incremento mappato all'attributo data e ora personalizzato per un determinato punto di controllo.
Quando un documento nel risultato di ricerca soddisfa la condizione specificata, viene applicato un importo di boost come segue:
Valore durata | Importo del boost |
---|---|
Inferiore al primo punto di controllo | È uguale all'importo del boost del primo punto di controllo |
Uguale a un punto di controllo specificato | È uguale all'importo del boost mappato |
Tra i punti di controllo | Viene calcolato mediante interpolazione lineare |
Superiore all'ultimo punto di controllo | È uguale all'importo del potenziamento dell'ultimo punto di controllo |
Esempio di caso d'uso che utilizza un attributo personalizzato di data e ora
Supponiamo che il tuo datastore contenga dati strutturati in cui ogni documento ha una data di pubblicazione. Vuoi aumentare i risultati di ricerca in proporzione alla loro freschezza. Puoi definire la specifica di incremento nel seguente modo:
{
"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
}
]
}
}
}
}
Per questo scenario, i risultati di ricerca vengono migliorati nel seguente modo:
Aggiornamento | Importo del boost |
---|---|
minore o uguale a 7 giorni | 0,40 |
tra 7 e 30 giorni | tra 0,40 e 0,37, calcolato utilizzando l'interpolazione lineare |
pari a 30 giorni | 0,37 |
tra 30 e 60 giorni | tra 0,37 e 0,32, calcolato utilizzando l'interpolazione lineare |
uguale a 60 giorni | 0,32 |
tra 60 e 90 giorni | tra 0,32 e 0,0, calcolato utilizzando l'interpolazione lineare |
maggiore o uguale a 90 giorni | 0.0 |
Esempio di caso d'uso che utilizza una data della pagina dedotta da Google
Durante la scansione delle pagine web nel datastore del tuo sito web, Google deduce i dati della pagina utilizzando le proprietà che si applicano ai tuoi contenuti. Vertex AI Search aggiunge queste proprietà dei dati della pagina dedotte allo schema. Questi dati dedotti includono le seguenti proprietà di data predefinite:
datePublished
: la data e l'ora in cui la pagina è stata pubblicata per la prima voltadateModified
: la data e l'ora dell'ultima modifica della pagina
Queste proprietà vengono indicizzate automaticamente. Puoi utilizzare direttamente queste proprietà
della data per arricchire la ricerca senza aggiungerle allo schema.
Puoi utilizzare queste proprietà predefinite per aumentare il coinvolgimento sulla tua pagina. Ad esempio, puoi
definire la specifica di boost impostando il campo fieldName
su
pageModified
come segue:
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": true,
"boostControlSpec": {
"fieldName": "dateModified",
"attributeType": "FRESHNESS",
"interpolationType": "LINEAR",
"controlPoints": [
{
"attributeValue": "7D",
"boostAmount": 0.35
},
{
"attributeValue": "30D",
"boostAmount": 0.30
}
]
}
}
}
}
Google deduce queste date in base al criterio del "best effort" e le date dedotte potrebbero non corrispondere a quelle effettive. Questi campi vengono compilati solo quando Google ha un alto livello di confidenza. Quando questi valori di data non sono presenti, questi campi diventano accettano valori null.
Come best practice, Google consiglia al proprietario del dominio o all'amministratore del sito web di aggiornare queste proprietà per le tue pagine web e di aggiornare manualmente l'archivio di dati del sito web di Vertex AI Search dopo l'aggiornamento. Per ulteriori informazioni, consulta il post del blog Aiutare la Ricerca Google a conoscere la data migliore per la pagina web e scopri come funzionano i dati strutturati nella Ricerca Google.
Per aggiungere attributi dei dati strutturati personalizzati per arricchire l'indice, consulta Aggiungere attributi dei dati strutturati personalizzati allo datastore dati
Aggiustamento dell'importo del boost
Oltre ai fattori che influenzano il ranking di un risultato, come la corrispondenza delle parole chiave, la corrispondenza contestuale e la pertinenza, la condizione di boost influisce in modo significativo sul ranking di un risultato. Pertanto, devi calibrare con attenzione l'importo del boost. Google consiglia di iniziare con un importo di incremento basso e preciso, ad esempio 0,1 o meno, e di modificarlo in base all'output della ricerca.
Esempio di caso d'uso con filtro per pertinenza
La regolamentazione dell'importo del boost è particolarmente importante quando si utilizza il
campo boostSpec
con il filtro per pertinenza. Per saperne di più sul filtro per pertinenza, consulta la sezione
Filtrare le ricerche in base alla pertinenza a livello di documento.
Supponiamo che tu abbia documenti diversi con date di pubblicazione diverse. Per una determinata query, la seguente tabella rappresenta la classificazione assoluta senza implementare alcuna condizione di boost o filtro di pertinenza e indica la pertinenza dei documenti per la query.
Documento | Data di pubblicazione | Pertinenza | Classifica |
---|---|---|---|
A | 1° febbraio 2024 | Alta | #1 |
B | 1° mar 2024 | Alta | #2 |
C | 1° aprile 2024 | Minimo | #3 |
D | 1° maggio 2024 | Media | #4 |
E | 1° giugno 2024 | Bassa | #5 |
Il 6 giugno 2024 aggiungi le seguenti condizioni di ricerca alla tua richiesta di ricerca:
- Il filtro per pertinenza è impostato su
LOW
. - Aumenta il valore in modo che i documenti pubblicati negli ultimi 31 giorni vengano aumentati di un valore pari a 0,7 e i documenti più vecchi di una settimana, ma più recenti di 60 giorni, vengano aumentati di un valore pari a 0,6.
Nell'output della ricerca, i risultati vengono prima filtrati in base alla pertinenza e poi viene applicato l'importo del boost. Pertanto, le condizioni applicate modificano la classifica delle pagine nei risultati nel seguente modo:
Documento | Data di pubblicazione | Pertinenza | Classifica |
---|---|---|---|
E | 1° giugno 2024 | Bassa | #1 |
D | 1° maggio 2024 | Media | #2 |
A | 1° febbraio 2024 | Alta | #3 |
B | 1° mar 2024 | Alta | #4 |
Il risultato con la pertinenza più bassa viene filtrato a causa del filtro per pertinenza. I documenti meno pertinenti a una query vengono classificati come primi risultati perché sono potenziati da un valore di potenziamento elevato. I risultati più pertinenti hanno un ranking inferiore.
Pertanto, Google consiglia di iniziare con un valore basso e preciso per l'incremento e di aggiustarlo in base all'output della ricerca. In questo esempio, iniziare con importi di boost pari o inferiori a 0,1 potrebbe generare risultati più pertinenti nella parte superiore della pagina.
Passaggi successivi
- Invia una richiesta di ricerca con la specifica di boosting
nel campo
boostSpec
. - Per comprendere l'impatto del boost sulla qualità della ricerca di un'app di ricerca personalizzata, valuta la qualità della ricerca. Per maggiori informazioni, consulta la pagina Valutare la qualità della ricerca.