Puoi specificare condizioni di boost nella richiesta di ricerca per promuovere o retrocedere 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 valori timestamp personalizzati che ti consentono di ordinare i risultati in base a parametri come popolarità e agibilità.
La specifica di boost in una richiesta di ricerca è diversa da un controllo del boost
collegato a una configurazione di pubblicazione. La specifica del boost nel
boostSpec
campo sostituisce il controllo del boost definito nel
boostAction
campo di una configurazione di pubblicazione. Per saperne di più sui controlli di Boost, consulta Informazioni sui controlli di Boost.
Questa pagina descrive i seguenti tipi di specifiche di boost:
- Boost con una condizione fissa
- Migliorare il rendimento utilizzando attributi numerici personalizzati
- Miglioramento in base all'aggiornamento
Puoi applicare queste specifiche di boost per eseguire query su app di ricerca di contenuti multimediali e su app di ricerca generiche che contengono dati strutturati, non strutturati e di siti web. Queste specifiche non sono applicabili alle app di ricerca sanitaria.
Miglioramento con una condizione fissa
Per aumentare i risultati di un importo fisso in base al fatto che soddisfino o meno una condizione, procedi nel seguente modo:
Specifica la specifica del boost 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 del testo per selezionare i documenti a cui viene applicato il potenziamento. Il filtro deve valutare a un valore booleano.BOOST_VALUE
: un numero a virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono retrocessi (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 su hotel e relative valutazioni a stelle. Vuoi promuovere gli hotel con valutazioni in stelle superiori o uguali 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 di boost di 0,7 per aumentare
di un importo uguale tutti gli hotel con un valore star_rating
pari o superiore a 3,0.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Migliorare il rendimento utilizzando attributi numerici personalizzati
Puoi migliorare i risultati in base ad attributi numerici personalizzati in modo lineare frazionato specificando i punti di controllo e i relativi valori di miglioramento.
Per specificare una specifica dell'incremento utilizzando attributi numerici personalizzati: Procedi nel seguente modo:
Specifica la specifica del boost 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 del testo per selezionare i documenti a cui viene applicato il potenziamento. Il filtro deve valutare a un valore booleano.CUSTOM_ATTRIBUTE_FIELD_NAME
: il nome del campo dell'attributo numerico personalizzato il cui valore determina l'importo dell'incremento.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, consulta ControlPoint.BOOST_AMOUNT
: un numero a virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono retrocessi (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 del potenziamento 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 del boost come segue:
Valore attributo | Importo del boost |
---|---|
Meno del primo punto di controllo | È uguale all'importo dell'incremento del primo punto di controllo |
Uguale al punto di controllo | È uguale all'importo dell'incremento mappato |
Tra i punti di controllo | Viene calcolato mediante interpolazione lineare |
Maggiore dell'ultimo punto di controllo | È uguale all'importo dell'aumento dell'ultimo punto di controllo |
Caso d'uso di esempio
Supponiamo che il tuo datastore contenga dati su hotel e relative valutazioni a stelle. Vuoi migliorare i risultati di ricerca degli hotel in proporzione alle loro valutazioni con stelle. Puoi definire la specifica dell'incremento come segue:
{
"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 | compreso tra 0,25 e 0,30, calcolato mediante interpolazione lineare |
uguale a 4,0 | 0,30 |
tra 4,0 e 4,5 | compreso tra 0,30 e 0,32, calcolato utilizzando l'interpolazione lineare |
maggiore o uguale a 4,5 | 0,32 |
Miglioramento in base all'aggiornamento
Puoi migliorare i risultati in base agli attributi data e ora in modo lineare frazionato specificando i punti di controllo e i relativi valori di miglioramento.
Per specificare una specifica di boost utilizzando attributi data e ora personalizzati:
Specifica la specifica del boost 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 del testo per selezionare i documenti a cui viene applicato il potenziamento. Il filtro deve valutare a 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 dedotto da Google predefinito, ad esempiodatePublished
.DURATION_VALUE
: il valore della durata nel tipo di datidayTimeDuration
che determina l'aggiornamento di un documento. Viene calcolato come 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, consulta ControlPoint.BOOST_AMOUNT
: un numero a virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono retrocessi (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 del boost come segue:
Valore durata | Importo del boost |
---|---|
Meno del primo punto di controllo | È uguale all'importo dell'incremento del primo punto di controllo |
Uguale a un determinato punto di controllo | È uguale all'importo dell'incremento mappato |
Tra i punti di controllo | Viene calcolato mediante interpolazione lineare |
Maggiore dell'ultimo punto di controllo | È uguale all'importo dell'aumento dell'ultimo punto di controllo |
Esempio di caso d'uso che utilizza un attributo data e ora personalizzato
Supponiamo che il tuo datastore contenga dati strutturati in cui ogni documento abbia una data di pubblicazione. Vuoi migliorare i risultati di ricerca in proporzione alla loro attualità. Puoi definire la specifica dell'incremento come segue:
{
"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 |
---|---|
meno o uguale a 7 giorni | 0,40 |
tra 7 e 30 giorni | compreso tra 0,40 e 0,37, calcolato utilizzando l'interpolazione lineare |
uguale 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 | compreso tra 0,32 e 0,0, calcolato mediante interpolazione lineare |
superiore o uguale a 90 giorni | 0.0 |
Esempio di caso d'uso che utilizza una data della pagina dedotta da Google
Quando esegue la scansione delle pagine web nel datastore del tuo sito web, Google deducono i dati delle pagine utilizzando le proprietà che si applicano ai tuoi contenuti. Vertex AI Search aggiunge queste proprietà dei dati di pagina dedotte allo schema. Questi dati dedotti includeno le seguenti proprietà di data predefinite:
datePublished
: la data e l'ora della prima pubblicazione della paginadateModified
: 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 migliorare la tua pagina. Ad esempio, puoi
definire la specifica dell'incremento 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 deduco queste date secondo il criterio del "best effort" e le date dedotte potrebbero non corrispondere a quelle effettive. Questi campi vengono compilati solo quando Google ha un'elevata affidabilità. Quando questi valori di data mancano, questi campi diventano obbligatori.
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 il tuo data store del sito web di Vertex AI Search dopo l'aggiornamento. Per ulteriori informazioni, leggi 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
Regolare l'importo dell'incremento con il filtro di pertinenza
Oltre ai fattori che influiscono sul ranking di un risultato, come la corrispondenza delle parole chiave, la corrispondenza del contesto e la pertinenza, la condizione di boost influisce in modo significativo sul ranking di un risultato. Pertanto, devi calibrare attentamente l'importo dell'incremento, soprattutto se utilizzi il campo boostSpec
con il filtro di pertinenza. Per ulteriori informazioni sul filtro di pertinenza, consulta 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 tabella seguente mostra il ranking assoluto senza implementare alcun importo di boost o filtri di pertinenza e indica la pertinenza dei documenti su cui eseguire la query.
Documento | Data di pubblicazione | Pertinenza | Classifica |
---|---|---|---|
A | 1° febbraio 2024 | Alta | #1 |
B | 1° marzo 2024 | Alta | #2 |
C | 1° aprile 2024 | Più basso | #3 |
D | 1° maggio 2024 | Medio | #4 |
E | 1° giugno 2024 | Bassa | #5 |
Il 6 giugno 2024 aggiungi le seguenti condizioni di ricerca nella richiesta di ricerca:
- Filtro di pertinenza impostato su
LOW
. - Valore di boost in modo che i documenti pubblicati negli ultimi 31 giorni vengano incrementati con un valore di 0,7 e i documenti precedenti a una settimana, ma più recenti di 60 giorni, vengano incrementati con un valore di 0,6.
Nell'output della ricerca, i risultati vengono prima filtrati in base alla pertinenza e poi viene applicato l'importo del potenziamento. Di conseguenza, le condizioni applicate modificano il ranking delle pagine nei risultati nel seguente modo:
Documento | Data di pubblicazione | Pertinenza | Classifica |
---|---|---|---|
E | 1° giugno 2024 | Bassa | #1 |
D | 1° maggio 2024 | Medio | #2 |
A | 1° febbraio 2024 | Alta | #3 |
B | 1° marzo 2024 | Alta | #4 |
Il risultato con la pertinenza più bassa viene filtrato a causa del filtro di pertinenza. I documenti meno pertinenti per una query vengono classificati come risultati principali perché sono migliorati da un importo elevato. I risultati più pertinenti hanno un ranking più basso.
Pertanto, Google consiglia di iniziare con un importo dell'aumento basso e preciso e di modificarlo in base all'output della ricerca. In questo esempio, iniziare con importi di boost pari o inferiori a 0,1 potrebbe restituire risultati più pertinenti in alto.
Passaggi successivi
- Esegui una richiesta di ricerca con la specifica di boost nel campo
boostSpec
. - Per comprendere l'impatto del boost sulla qualità della ricerca di un'app di ricerca generica, valuta la qualità della ricerca. Per ulteriori informazioni, consulta Valutare la qualità della ricerca.