Suchergebnisse optimieren

Sie können in Ihrer Suchanfrage Boost-Bedingungen angeben, um bestimmte Dokumente in den Suchergebnissen hoch- oder herabzustufen. Wenn ein Dokument die angegebenen Bedingungen erfüllt, werden die Boost-Werte darauf angewendet und die Ergebnisse entsprechend sortiert. Sie können auch benutzerdefinierte numerische Werte und Zeitstempelwerte angeben, mit denen Sie die Ergebnisse nach Parametern wie Beliebtheit und Aktualität sortieren können.

Die Boost-Spezifikation in einer Suchanfrage unterscheidet sich von einer Boost-Steuerung, die an eine Bereitstellungskonfiguration angehängt ist. Weitere Informationen zu Boost-Steuerungen

Auf dieser Seite werden die folgenden Arten von Boost-Spezifikationen beschrieben:

Sie können diese Boost-Spezifikationen auf Media-Suchanwendungen und benutzerdefinierte Suchanwendungen anwenden, die strukturierte, unstrukturierte und Websitedaten enthalten. Diese Spezifikationen gelten nicht für Such-Apps im Gesundheitswesen.

Boost mit einer festen Bedingung

So erhöhen Sie Ergebnisse um einen festen Wert, je nachdem, ob sie eine bestimmte Bedingung erfüllen:

  1. Geben Sie die Boost-Spezifikation im Feld boostSpec an, wenn Sie eine servingConfigs.search-Anfrage senden.

    {
      "boostSpec": {
        "conditionBoostSpecs": {
          "condition": "BOOST_CONDITION",
          "boost": BOOST_VALUE
        }
      }
    }
    

    Die Spezifikation enthält die folgenden Parameter:

    • BOOST_CONDITION: ein Textfilterausdruck zum Auswählen der Dokumente, auf die der Boost angewendet wird. Der Filter muss in einen booleschen Wert aufgelöst werden. Beispiele für Filterausdrücke finden Sie unter Filterausdruckssyntax und Syntax für die erweiterte Indexierung.
    • BOOST_VALUE: eine Gleitkommazahl im Bereich [-1,1]. Wenn der Wert negativ ist, werden die Ergebnisse herabgestuft (sie werden weiter unten in den Ergebnissen angezeigt). Wenn der Wert positiv ist, werden die Ergebnisse hochgestuft (sie werden weiter oben in den Ergebnissen angezeigt).

Anwendungsbeispiel

Angenommen, Ihr Datenspeicher enthält Daten zu Hotels und deren Sternebewertungen. Sie möchten Hotels mit mindestens drei Sternen boosten. Die Sternebewertung ist im numerischen Feld star_rating verfügbar. Sie können condition im boostSpec als star_rating >= 3.0 und einen Steigerungswert von 0,7 angeben, um alle Hotels mit einem star_rating von mindestens 3,0 um denselben Wert zu boosten.

{
  "boostSpec": {
    "conditionBoostSpecs": {
      "condition": "star_rating>=3.0",
      "boost": 0.7
    }
  }
}

Boost mithilfe benutzerdefinierter numerischer Attribute

Sie können die Ergebnisse basierend auf benutzerdefinierten numerischen Attributen stückweise linear boosten, indem Sie Steuerpunkte und die entsprechenden Boost-Werte angeben.

So geben Sie eine Boost-Spezifikation mit benutzerdefinierten numerischen Attributen an:

  1. Geben Sie die Boost-Spezifikation im Feld boostSpec an, wenn Sie eine servingConfigs.search-Anfrage senden.

    {
      "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
                }
              ]
            }
        }
      }
    }
    

    Die Spezifikation enthält die folgenden Parameter:

    • BOOST_CONDITION: ein Textfilterausdruck zum Auswählen der Dokumente, auf die der Boost angewendet wird. Der Filter muss in einen booleschen Wert aufgelöst werden. Beispiele für Filterausdrücke finden Sie unter Filterausdruckssyntax und Syntax für die erweiterte Indexierung.
    • CUSTOM_ATTRIBUTE_FIELD_NAME: der Feldname des benutzerdefinierten numerischen Attributs, dessen Wert den Boost-Wert bestimmt.
    • CUSTOM_ATTRIBUTE_VALUE: der numerische Wert des benutzerdefinierten Attributs für einen bestimmten Steuerpunkt mit dem Datentyp „String“. Zum Beispiel "3.3" oder "12". Weitere Informationen finden Sie unter ControlPoint.
    • BOOST_AMOUNT: eine Gleitkommazahl im Bereich [-1,1]. Wenn der Wert negativ ist, werden die Ergebnisse herabgestuft (sie werden weiter unten in den Ergebnissen angezeigt). Wenn der Wert positiv ist, werden die Ergebnisse hochgestuft (sie werden weiter oben in den Ergebnissen angezeigt). Gibt den Boost-Wert an, der dem benutzerdefinierten Attribut für einen bestimmten Steuerpunkt zugeordnet ist.

Wenn ein Dokument im Suchergebnis die angegebene Bedingung erfüllt, wird ein Boost-Wert so angewendet:

Attributwert Boost-Wert:
Weniger als der erste Steuerpunkt Entspricht dem Boost-Wert des ersten Steuerpunkts
Gleich dem Steuerpunkt Entspricht dem zugeordneten Boost-Wert
Zwischen Steuerpunkten Wird durch lineare Interpolation berechnet
Größer als der letzte Steuerpunkt Entspricht dem Boost-Wert des letzten Steuerpunkts

Anwendungsbeispiel

Angenommen, Ihr Datenspeicher enthält Daten zu Hotels und deren Sternebewertungen. Sie möchten die Hotel-Suchergebnisse entsprechend ihrer Sternebewertung hervorheben. Sie können die Boost-Spezifikation so definieren:

{
  "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 diesem Szenario werden die Suchergebnisse folgendermaßen optimiert.

Sternebewertung Boost-Wert:
ist kleiner als oder gleich 3,5 0,25
zwischen 3,5 und 4,0 zwischen 0,25 und 0,30 – berechnet mit linearer Interpolation
ist gleich 4,0 0,30
zwischen 4,0 und 4,5 zwischen 0,30 und 0,32 – berechnet mit linearer Interpolation
ist größer als oder gleich 4,5 0,32

Boost nach Aktualität

Sie können Ergebnisse basierend auf Datums- und Zeitattributen stückweise linear boosten, indem Sie Steuerpunkte und die entsprechenden Boost-Werte angeben.

So geben Sie eine Boost-Spezifikation mit benutzerdefinierten Datums-/Zeitattributen an:

  1. Geben Sie die Boost-Spezifikation im Feld boostSpec an, wenn Sie eine servingConfigs.search-Anfrage senden.

    {
      "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
                }
              ]
            }
        }
      }
    }
    

    Die Spezifikation enthält die folgenden Parameter:

    • BOOST_CONDITION: ein Textfilterausdruck zum Auswählen der Dokumente, auf die der Boost angewendet wird. Der Filter muss in einen booleschen Wert aufgelöst werden. Beispiele für Filterausdrücke finden Sie unter Filterausdruckssyntax und Syntax für die erweiterte Indexierung.
    • DATETIME_FIELD_NAME: der Feldname eines benutzerdefinierten DATETIME-Attributs, z. B. das Veröffentlichungsdatum oder das Datum der letzten Aktualisierung, oder eines vordefinierten, von Google abgeleiteten Attributs, z. B. datePublished.
    • DURATION_VALUE: der Dauerwert im dayTimeDuration-Datentyp, der die Aktualität eines Dokuments bestimmt. Er wird als Dauer zwischen Datum und Uhrzeit der Suche und Datum und Uhrzeit des benutzerdefinierten Datums-/Uhrzeitattributs eines Dokuments berechnet. Der Dauerwert muss gemäß dem ISO 8601-Format im Muster [nD][T[nH][nM][nS]] angegeben werden. Die Dauer zwischen dem 1. Januar 2024 und dem 1. März 2024 kann beispielsweise als 59D ausgedrückt werden. Die Dauer von zweieinhalb Tagen kann als 2DT12H ausgedrückt werden. Weitere Informationen finden Sie unter ControlPoint.
    • BOOST_AMOUNT: eine Gleitkommazahl im Bereich [-1,1]. Wenn der Wert negativ ist, werden die Ergebnisse herabgestuft (sie werden weiter unten in den Ergebnissen angezeigt). Wenn der Wert positiv ist, werden die Ergebnisse hochgestuft (sie werden weiter oben in den Ergebnissen angezeigt). Gibt den Boost-Wert an, der dem benutzerdefinierten Datums-/Uhrzeitattribut für einen bestimmten Steuerpunkt zugeordnet ist.

Wenn ein Dokument im Suchergebnis die angegebene Bedingung erfüllt, wird ein Boost-Wert so angewendet:

Dauerwert Boost-Wert:
Weniger als der erste Steuerpunkt Entspricht dem Boost-Wert des ersten Steuerpunkts
Entspricht einem bestimmten Steuerpunkt Entspricht dem zugeordneten Boost-Wert
Zwischen Steuerpunkten Wird durch lineare Interpolation berechnet
Größer als der letzte Steuerpunkt Entspricht dem Boost-Wert des letzten Steuerpunkts

Beispiel für einen Anwendungsfall mit einem benutzerdefinierten Datums-/Uhrzeitattribut

Angenommen, Ihr Datenspeicher enthält strukturierte Daten, bei denen jedes Dokument ein Veröffentlichungsdatum aufweist. Sie möchten die Suchergebnisse entsprechend ihrer Aktualität boosten. Sie können die Boost-Spezifikation so definieren:

{
  "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 diesem Szenario werden die Suchergebnisse folgendermaßen optimiert.

Aktualität Boost-Wert:
weniger als oder gleich 7 Tage 0,40
zwischen 7 und 30 Tagen zwischen 0,40 und 0,37 – berechnet mit linearer Interpolation
entspricht 30 Tagen 0,37
zwischen 30 und 60 Tagen zwischen 0,37 und 0,32 – berechnet mit linearer Interpolation
entspricht 60 Tagen 0,32
zwischen 60 und 90 Tagen zwischen 0,32 und 0,0 – berechnet mit linearer Interpolation
größer als oder gleich 90 Tage 0,0

Beispiel für einen Anwendungsfall mit einem von Google abgeleiteten Seitendatum

Beim Crawlen der Webseiten in Ihrem Website-Datenspeicher leitet Google Seitendaten anhand der Eigenschaften ab, die für Ihre Inhalte gelten. Vertex AI Search fügt diese abgeleiteten Seitendatenattribute Ihrem Schema hinzu. Diese abgeleiteten Daten enthalten die folgenden vordefinierten Datumseigenschaften:

  • datePublished: Datum und Uhrzeit der Erstveröffentlichung der Seite
  • dateModified: Datum und Uhrzeit der letzten Änderung der Seite.

Diese Properties werden automatisch indexiert. Sie können diese Datumseigenschaften direkt verwenden, um Ihre Suche zu optimieren, ohne sie Ihrem Schema hinzuzufügen. Sie können diese vordefinierten Eigenschaften verwenden, um Ihre Seite zu optimieren. Sie können die Boost-Spezifikation beispielsweise so definieren, dass das Feld fieldName auf pageModified gesetzt wird:

{
  "boostSpec": {
    "conditionBoostSpecs": {
        "condition": true,
        "boostControlSpec": {
          "fieldName": "dateModified",
          "attributeType": "FRESHNESS",
          "interpolationType": "LINEAR",
          "controlPoints": [
            {
              "attributeValue": "7D",
              "boostAmount": 0.35
            },
            {
              "attributeValue": "30D",
              "boostAmount": 0.30
            }
          ]
        }
    }
  }
}

Google leitet diese Daten nach dem Best-Effort-Prinzip ab. Die abgeleiteten Daten stimmen möglicherweise nicht mit den tatsächlichen Daten überein. Diese Felder werden nur ausgefüllt, wenn Google ein hohes Konfidenzniveau hat. Wenn diese Datumswerte fehlen, werden diese Felder auf „nullable“ gesetzt.

Google empfiehlt, dass der Domaininhaber oder Websiteadministrator diese Eigenschaften für Ihre Webseiten aktualisiert und Sie den Datenspeicher Ihrer Vertex AI Search-Website nach der Aktualisierung manuell aktualisieren. Weitere Informationen finden Sie im Blogbeitrag Google-Suche bei der Auswahl des richtigen Webseitendatums unterstützen und unter So funktionieren strukturierte Daten in der Google Suche.

Wenn Sie benutzerdefinierte Attribute für strukturierte Daten hinzufügen möchten, um Ihren Index zu optimieren, lesen Sie den Abschnitt Benutzerdefinierte Attribute für strukturierte Daten dem Datenspeicherschema hinzufügen.

Anpassung des Boost-Werts

Neben Faktoren, die das Ranking eines Ergebnisses beeinflussen, z. B. Keyword-Optionen, Kontextabgleich und Relevanz, wirkt sich die Boost-Bedingung erheblich auf das Ranking eines Ergebnisses aus. Daher müssen Sie den Boost-Wert sorgfältig abstimmen. Google empfiehlt, mit einem niedrigen, präzisen Boost-Wert zu beginnen, z. B. 0,1 oder weniger, und ihn je nach Suchergebnis anzupassen.

Beispiel für einen Anwendungsfall mit Relevanzfilter

Die Regulierung des Boost-Werts ist besonders wichtig, wenn Sie das Feld boostSpec mit einem Relevanzfilter verwenden. Weitere Informationen zum Relevanzfilter finden Sie unter Suchanfragen nach Relevanz auf Dokumentebene filtern.

Angenommen, Sie haben verschiedene Dokumente mit unterschiedlichen Veröffentlichungsdaten. Die folgende Tabelle zeigt das absolute Ranking für eine bestimmte Anfrage ohne Anwendung von Boost-Bedingungen oder Relevanzfiltern. Sie gibt die Relevanz der Dokumente für die Anfrage an.

Dokument Veröffentlichungsdatum Relevanz Ranking
A 1. Feb. 2024 Hoch #1
B 1. März 2024 Hoch #2
C 1. Apr. 2024 Am niedrigsten #3
D 1. Mai 2024 Medium #4
E 1. Juni 2024 Niedrig #5

Am 6. Juni 2024 fügen Sie der Suchanfrage die folgenden Suchbedingungen hinzu:

  • Der Relevanzfilter ist auf LOW festgelegt.
  • Erhöhen Sie den Wert so, dass Dokumente, die in den letzten 31 Tagen veröffentlicht wurden, um 0,7 und Dokumente, die älter als eine Woche, aber jünger als 60 Tage sind, um 0,6 geboostet werden.

In der Suchausgabe werden die Ergebnisse zuerst nach Relevanz gefiltert und dann wird der Boost-Wert angewendet. Die angewendeten Bedingungen wirken sich daher auf folgende Weise auf das Ranking der Seiten in den Ergebnissen aus:

Dokument Veröffentlichungsdatum Relevanz Ranking
E 1. Juni 2024 Niedrig #1
D 1. Mai 2024 Medium #2
A 1. Feb. 2024 Hoch #3
B 1. März 2024 Hoch #4

Das Ergebnis mit der niedrigsten Relevanz wird aufgrund des Relevanzfilters herausgefiltert. Dokumente, die für eine Anfrage weniger relevant sind, werden als Top-Ergebnisse eingestuft, weil sie durch einen großen Boost-Wert geboostet werden. Die relevantesten Ergebnisse erscheinen weiter unten im Ranking.

Daher empfiehlt Google, mit einem niedrigen, präzisen Boost-Wert zu beginnen und den Wert je nach Suchergebnis anzupassen. In diesem Beispiel könnten Sie mit Boost-Werten von 0,1 oder niedriger beginnen, sodass relevantere Ergebnisse oben erscheinen.

Nächste Schritte