Migliorare i risultati di ricerca

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 di timestamp personalizzati che ti consentono di ordinare i risultati in base a parametri come popolarità e novità.

La specifica del booster in una richiesta di ricerca è diversa da un controllo del booster collegato a una configurazione di pubblicazione. La specifica del booster Il campo boostSpec sostituisce il controllo del booster definito nel campo boostAction di una configurazione di pubblicazione. Per saperne di più sui controlli di Boost, consulta Informazioni sui controlli di Boost.

In questa pagina vengono descritti i seguenti tipi di specifiche del booster:

Puoi applicare queste specifiche di boost alle query delle app di ricerca di contenuti multimediali e delle app di ricerca generiche che contengono dati strutturati, non strutturati e di siti web. Queste specifiche non sono applicabili alle app di ricerca sanitaria.

Boost con una condizione fissa

Per migliorare i risultati di un importo fisso a seconda che soddisfino una condizione, segui questi passaggi:

  1. Specifica la specifica di boost 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 del testo per selezionare i documenti a cui viene applicato il potenziamento. Il filtro deve restituire in un valore booleano.
    • BOOST_VALUE: un numero con rappresentazione in virgola mobile compreso tra -1 e 1. Se il valore corrisponde a negativi, i risultati vengono retrocessi (appaiono più in basso nella ). Quando il valore è positivo, i risultati vengono promossi (appaiono più in alto nei risultati).

Caso d'uso di esempio

Supponiamo che il datastore contenga dati sugli hotel e sulle relative valutazioni a stelle. Vuoi promuovere gli hotel con valutazioni in stelle pari o superiori a tre. La valutazione a stelle è disponibile nel campo numerico star_rating. Puoi specificare il condition in boostSpec come star_rating >= 3.0 e un valore di boost di 0,7 per incrementare tutti gli hotel con 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:

  1. Specifica la specifica di booster 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 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 della attributo numerico personalizzato il cui valore determina l'importo del booster.
    • CUSTOM_ATTRIBUTE_VALUE: il valore numerico del attributo personalizzato per un determinato punto di controllo con un tipo di dati stringa. Per ad esempio "3.3" o "12". Per ulteriori informazioni, consulta ControlPoint.
    • BOOST_AMOUNT: l'importo del booster associato alla richiesta per un dato 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 alla quantità di boost mappata
Tra i punti di controllo Viene calcolato mediante interpolazione lineare
Maggiore dell'ultimo punto di controllo È uguale alla quantità di boosting dell'ultimo punto di controllo

Caso d'uso di esempio

Supponiamo che il datastore contenga dati sugli hotel e sulle relative valutazioni a stelle. Vuoi aumenta i risultati di ricerca degli hotel in proporzione alla stella valutazioni. Puoi definire la specifica di booster 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 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

Esegui il boost 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:

  1. Specifica la specifica di booster 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 del testo per selezionare i documenti a cui viene applicato il potenziamento. Il filtro deve restituire in un valore booleano.
    • DATETIME_FIELD_NAME: il nome del campo di un Attributo DATETIME, ad esempio data di pubblicazione o data dell'ultimo aggiornamento, o un attributo predefinito dedotto da Google, come datePublished.
    • DURATION_VALUE: il valore della durata nel tipo di dati dayTimeDuration che determina l'aggiornamento di un documento. Questo valore viene calcolato come durata tra la data/ora in cui viene eseguita la ricerca e la data/ora dell'attributo data/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 1 marzo 2024 possono essere espresse come 59D. Analogamente, la durata di due giorni e mezzo possono essere espressi come 2DT12H. Per ulteriori informazioni, vedi ControlPoint.
    • BOOST_AMOUNT: l'importo del booster associato alla richiesta datetime di 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 calcolata tramite interpolazione lineare
Maggiore dell'ultimo punto di controllo È uguale all'importo dell'aumento dell'ultimo punto di controllo

Caso d'uso di esempio in cui viene utilizzato un attributo data/ora personalizzato

Supponiamo che il datastore contenga dati strutturati in cui ogni documento ha un data di pubblicazione. Vuoi aumentare i risultati di ricerca in proporzione la loro freschezza. Puoi definire la specifica dell'aumento 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 di 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 tra 0,32 e 0,0, calcolati utilizzando l'interpolazione lineare
maggiore o uguale a 90 giorni 0.0

Caso d'uso di esempio che utilizza una data della pagina dedotta da Google

Quando esegue la scansione delle pagine web nel data store 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 pagina
  • dateModified: la data e l'ora dell'ultima modifica della pagina

Queste proprietà vengono indicizzate automaticamente. Puoi usare direttamente queste date per arricchire la tua ricerca senza aggiungerle allo schema. Puoi utilizzare queste proprietà predefinite per migliorare la tua pagina. Ad esempio, puoi definisci 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 secondo il 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 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, consulta la Guida Ricerca Google: scopri qual è la data migliore per il tuo web di Google Cloud e scopri Come funzionano i dati strutturati in Google Ricerca.

Per aggiungere attributi dei dati strutturati personalizzati per arricchire il tuo indice, consulta: Aggiungere attributi dei dati strutturati personalizzati allo schema del datastore

Regola l'importo dell'incremento con il filtro di pertinenza

Oltre ai fattori che influenzano il ranking di un risultato, come corrispondenza delle parole chiave, corrispondenza del contesto e pertinenza, la condizione di aumento influisce sul ranking un risultato significativamente. Pertanto, devi calibrare attentamente l'importo dell'incremento, soprattutto se utilizzi il campo boostSpec con il filtro di pertinenza. Per maggiori informazioni informazioni sul filtro della pertinenza, consulta Filtrare le ricerche in base alla pertinenza a livello di documento.

Supponi di avere 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° feb 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 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 di ricerca, i risultati vengono filtrati prima in base alla pertinenza e poi in base alla viene applicato l'importo del booster. 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° feb 2024 Alta #3
B 1° marzo 2024 Alta #4

Il risultato con la pertinenza più bassa viene filtrato a causa del filtro della pertinenza. I documenti meno pertinenti per una query vengono classificati come risultati principali perché sono migliorati da un importo elevato. Più sono i risultati 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