Migliorare i risultati di ricerca

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 e di timestamp personalizzati 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 ulteriori informazioni sui controlli di boosting, consulta Informazioni sui controlli di boosting.

In questa pagina vengono descritti i seguenti tipi di specifiche di boosting:

Puoi applicare queste specifiche di boosting alle app di ricerca di contenuti multimediali e alle app di ricerca personalizzata che contengono dati strutturati, non strutturati e di siti web. Queste specifiche non sono applicabili alle app di ricerca di servizi sanitari.

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. Per esempi di espressioni di filtro, consulta Sintassi delle espressioni di filtro e Sintassi per l'indicizzazione avanzata.
    • 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. Per esempi di espressioni di filtro, consulta Sintassi delle espressioni di filtro e Sintassi per l'indicizzazione avanzata.
    • 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 ulteriori informazioni, 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 dell'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 di data e ora in modo lineare a tratti specificando i punti di controllo e i relativi valori di boosting.

Per specificare una specifica di boosting utilizzando attributi di data e ora 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. Per esempi di espressioni di filtro, consulta Sintassi delle espressioni di filtro e Sintassi per l'indicizzazione avanzata.
    • 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 di 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 come 59D. Allo stesso modo, la durata di due giorni e mezzo può essere espressa come 2DT12H. Per ulteriori informazioni, 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 di 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 boosting come segue:

Valore 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 che utilizza un attributo di data e ora 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

Caso d'uso di esempio 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. La ricerca dell'agente 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 volta
  • dateModified: la data e l'ora in cui la pagina è stata modificata più di recente

Queste proprietà vengono indicizzate automaticamente. Puoi utilizzare direttamente queste proprietà di data per arricchire la ricerca senza aggiungerle allo schema. Puoi utilizzare queste proprietà predefinite per aumentare la tua pagina. Ad esempio, puoi definire la specifica di boosting 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 alle date effettive. Questi campi vengono compilati solo quando Google ha un'elevata affidabilità. Quando questi valori di data non sono presenti, questi campi diventano nullabili.

Come best practice, Google consiglia al proprietario del dominio o all'amministratore del sito web di aggiornare queste proprietà per le pagine web e che tu aggiorni manualmente il datastore del sito web della ricerca dell'agente dopo l'aggiornamento. Per ulteriori informazioni, consulta l'articolo Aiutare la Ricerca Google a trovare la data migliore per il post del blog della pagina web e scopri come funzionano i dati strutturati nella Ricerca Google.

Per aggiungere attributi di dati strutturati personalizzati per arricchire l'indice, consulta Aggiungere attributi di dati strutturati personalizzati allo schema del datastore

Regolazione dell'importo del boosting

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. Google consiglia di iniziare con un importo di boosting basso e preciso, ad esempio 0,1 o inferiore, e di regolarlo in base all'output di ricerca.

Caso d'uso di esempio con filtro di pertinenza

La regolamentazione dell'importo del boosting è particolarmente importante quando si utilizza 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 di avere documenti diversi con date di pubblicazione diverse. Per una determinata query, la tabella seguente rappresenta il ranking assoluto senza implementare alcuna condizione di boosting o filtro 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 nella 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