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

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:

  1. Specifica la specifica di boosting nel campo boostSpec quando invii una richiesta servingConfigs.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:

  1. Specifica la specifica di boosting nel campo boostSpec quando invii una richiesta servingConfigs.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:

  1. Specifica la specifica di boosting nel campo boostSpec quando invii una richiesta servingConfigs.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 attributo DATETIME personalizzato, 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 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 come 59D. Analogamente, la durata di due giorni e mezzo può essere espressa come 2DT12H. 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 volta
  • dateModified: 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