Migliorare i risultati di ricerca (legacy)

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

Per aumentare i risultati di un importo fisso in base al fatto che soddisfino una condizione:

  1. Specifica la specifica di boosting nel boostSpec campo quando invii una servingConfigs.search richiesta.

    {
      "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:

  1. Specifica la specifica di boosting nel boostSpec campo quando invii una servingConfigs.search richiesta.

    {
      "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:

  1. Specifica la specifica di boosting nel boostSpec campo quando invii una servingConfigs.search richiesta.

    {
      "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 personalizzato DATETIME, ad esempio la data di pubblicazione o la data dell'ultimo aggiornamento, o un attributo predefinito dedotto da Google, ad esempio datePublished.
    • DURATION_VALUE: il valore della durata nel tipo di dati dayTimeDuration che 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 come 59D. Allo stesso modo, la durata di due giorni e mezzo può essere espressa come 2DT12H. 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