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 boosting e i risultati vengono ordinati di conseguenza. Puoi anche specificare valori numerici personalizzati e valori di timestamp che ti consentono di ordinare i risultati in base a parametri come popolarità e aggiornamento.
La specifica di boosting in una richiesta di ricerca è diversa da un controllo di boosting collegato a una configurazione di pubblicazione. Per saperne di più sui controlli di boosting, consulta Informazioni sui controlli di boosting.
In questa pagina vengono descritti i seguenti tipi di specifiche di boosting:
- Boosting con una condizione fissa
- Boosting utilizzando attributi numerici personalizzati
- Boosting in base all'aggiornamento
Boosting con una condizione fissa
Per aumentare i risultati di un importo fisso in base al fatto che soddisfino una condizione:
Specifica la specifica di boosting nel
boostSpeccampo quando invii unaservingConfigs.searchrichiesta.{ "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 il boosting. 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 (appaiono più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (appaiono più in alto nei risultati).
Caso d'uso di esempio
Supponiamo che il tuo datastore contenga dati sugli hotel e sulle loro valutazioni a stelle. Vuoi aumentare gli hotel con valutazioni a stelle maggiori o uguali a tre. La valutazione a stelle è disponibile nel campo numerico star_rating. Puoi specificare la
condition in boostSpec come star_rating >= 3.0 e un valore di boosting pari a 0,7
per aumentare tutti gli hotel con star_rating pari a 3,0 o superiore di un importo uguale.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Boosting utilizzando attributi numerici personalizzati
Puoi aumentare i risultati in base agli attributi numerici personalizzati in modo lineare a tratti specificando i punti di controllo e i relativi valori di boosting.
Per specificare una specifica di boosting utilizzando attributi numerici personalizzati:
Specifica la specifica di boosting nel
boostSpeccampo quando invii unaservingConfigs.searchrichiesta.{ "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 il boosting. 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 del boosting.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 saperne di più, consulta ControlPoint.BOOST_AMOUNT: un numero in virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono declassati (appaiono più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (appaiono più in alto nei risultati). Indica l'importo del boosting 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 boosting come segue:
| Valore attributo | Importo del boosting |
|---|---|
| Inferiore al primo punto di controllo | È uguale all'importo del boosting del primo punto di controllo |
| Uguale al punto di controllo | È uguale all'importo del boosting mappato |
| Tra i punti di controllo | Viene calcolato mediante interpolazione lineare |
| Maggiore dell'ultimo punto di controllo | È uguale all'importo del boosting dell'ultimo punto di controllo |
Caso d'uso di esempio
Supponiamo che il tuo datastore contenga dati sugli hotel e sulle loro valutazioni a stelle. Vuoi aumentare i risultati di ricerca degli hotel in proporzione alle loro valutazioni a stelle. Puoi definire la specifica di boosting 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
}
]
}
}
}
}
In questo scenario, i risultati di ricerca vengono aumentati come segue:
| Valutazione a stelle | Importo del boosting |
|---|---|
| Minore o uguale a 3,5 | 0,25 |
| Tra 3,5 e 4,0 | Tra 0,25 e 0,30, calcolato mediante interpolazione lineare |
| Uguale a 4,0 | 0,30 |
| Tra 4,0 e 4,5 | Tra 0,30 e 0,32, calcolato mediante interpolazione lineare |
| Maggiore o uguale a 4,5 | 0,32 |
Boosting in base all'aggiornamento
Puoi aumentare i risultati in base agli attributi datetime in modo lineare a tratti specificando i punti di controllo e i relativi valori di boosting.
Per specificare una specifica di boosting utilizzando attributi datetime personalizzati:
Specifica la specifica di boosting nel
boostSpeccampo quando invii unaservingConfigs.searchrichiesta.{ "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 il boosting. Il filtro deve restituire un valore booleano.DATETIME_FIELD_NAME: il nome del campo di un attributo personalizzatoDATETIME, 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 datidayTimeDurationche determina l'aggiornamento 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 datetime 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. Allo stesso modo, la durata di due giorni e mezzo può essere espressa come2DT12H. Per saperne di più, consulta ControlPoint.BOOST_AMOUNT: un numero in virgola mobile nell'intervallo [-1,1]. Quando il valore è negativo, i risultati vengono declassati (appaiono più in basso nei risultati). Quando il valore è positivo, i risultati vengono promossi (appaiono più in alto nei risultati). Indica l'importo del boosting mappato all'attributo datetime personalizzato per un determinato punto di controllo.
Quando un documento nel risultato di ricerca soddisfa la condizione specificata, viene applicato un importo di boosting come segue:
| Valore della durata | Importo del boosting |
|---|---|
| Inferiore al primo punto di controllo | È uguale all'importo del boosting del primo punto di controllo |
| Uguale a un determinato punto di controllo | È uguale all'importo del boosting mappato |
| Tra i punti di controllo | Viene calcolato mediante interpolazione lineare |
| Maggiore dell'ultimo punto di controllo | È uguale all'importo del boosting dell'ultimo punto di controllo |
Caso d'uso di esempio utilizzando un attributo datetime personalizzato
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 al loro aggiornamento. Puoi definire la specifica di boosting 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
}
]
}
}
}
}
In questo scenario, i risultati di ricerca vengono aumentati come segue:
| Aggiornamento | Importo del boosting |
|---|---|
| Minore o uguale a 7 giorni | 0,40 |
| Tra 7 e 30 giorni | Tra 0,40 e 0,37, calcolato mediante interpolazione lineare |
| Uguale a 30 giorni | 0,37 |
| Tra 30 e 60 giorni | Tra 0,37 e 0,32, calcolato mediante interpolazione lineare |
| Uguale a 60 giorni | 0,32 |
| Tra 60 e 90 giorni | Tra 0,32 e 0,0, calcolato mediante interpolazione lineare |
| Maggiore o uguale a 90 giorni | 0,0 |
Regolare l'importo del boosting con il filtro di pertinenza
Oltre ai fattori che influenzano il ranking di un risultato, come la corrispondenza delle parole chiave, la corrispondenza del contesto e la pertinenza, la condizione di boosting influisce in modo significativo sul ranking di un risultato. Pertanto, devi calibrare attentamente l'importo del boosting, soprattutto quando utilizzi il campo boostSpec con il filtro di pertinenza. Per saperne di più sul filtro di pertinenza, consulta
Filtrare le ricerche in base alla pertinenza a livello di documento.
Supponiamo di avere documenti diversi con date di pubblicazione diverse. Per una determinata query, la tabella seguente rappresenta il ranking assoluto senza implementare alcun importo di boosting o filtri di pertinenza e indica la pertinenza dei documenti alla query.
| Documento | Data di pubblicazione | Pertinenza | Ranking |
|---|---|---|---|
| A | 1° febbraio 2024 | Alta | #1 |
| B | 1° marzo 2024 | Alta | #2 |
| C | 1° aprile 2024 | Minima | #3 |
| D | 1° maggio 2024 | Media | #4 |
| E | 1° giugno 2024 | Bassa | #5 |
Il 6 giugno 2024 aggiungi le seguenti condizioni di ricerca alla richiesta di ricerca:
- Filtro di pertinenza impostato su
LOW. - Valore di boosting 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 di ricerca, i risultati vengono prima filtrati in base alla pertinenza e poi viene applicato l'importo del boosting. Pertanto, le condizioni applicate modificano il ranking delle pagine nei risultati nel seguente modo:
| Documento | Data di pubblicazione | Pertinenza | Ranking |
|---|---|---|---|
| E | 1° giugno 2024 | Bassa | #1 |
| D | 1° maggio 2024 | Media | #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 a una query vengono classificati come risultati principali perché vengono aumentati di un importo di boosting elevato. I risultati più pertinenti vengono classificati più in basso.
Pertanto, Google consiglia di iniziare l'importo del boosting da un valore basso e preciso e di regolarlo in base all'output di ricerca. In questo esempio, iniziare con importi di boosting pari o inferiori a 0,1 potrebbe recuperare risultati più pertinenti nella parte superiore.
Passaggi successivi
- Invia una richiesta di ricerca con la specifica di boosting
nel campo
boostSpec. - Per comprendere l'impatto del boosting sulla qualità della ricerca di un'app di ricerca personalizzata, valuta la qualità della ricerca. Per saperne di più, consulta Valutare la qualità della ricerca.