Suchergebnisse optimieren

Sie können in Ihrer Suchanfrage Boosting-Bedingungen angeben, um bestimmte Dokumente in den Suchergebnissen hervorzuheben oder herabzustufen. Wenn ein Dokument die angegebenen Bedingungen erfüllt, werden die Boost-Werte darauf angewendet und die Ergebnisse werden 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 Boosting-Spezifikation in einer Suchanfrage unterscheidet sich von einer Boost-Steuerung, die an eine Bereitstellungskonfiguration angehängt ist. Die Boost-Spezifikation im Feld boostSpec überschreibt die Boost-Steuerung, die im Feld boostAction einer Bereitstellungskonfiguration definiert ist. Weitere Informationen zu Steuerelementen für Steigerungen finden Sie unter Steuerelemente für Steigerungen.

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 für das Gesundheitswesen.

Boost mit einer festen Bedingung

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

  1. Geben Sie die Boosting-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 die Steigerung angewendet wird. Der Filter muss in einen booleschen Wert aufgelöst werden.
    • 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 höher in den Suchergebnissen platziert.

Anwendungsbeispiel

Angenommen, Ihr Datenspeicher enthält Daten zu Hotels und deren Sternebewertungen. Sie möchten Hotels mit einer Sternebewertung von mindestens drei Sternen bewerben. Die Sternebewertung ist im numerischen Feld star_rating verfügbar. Sie können condition im boostSpec als star_rating >= 3.0 angeben und einen Boost-Wert von 0,7 verwenden, um alle Hotels mit einem star_rating von mindestens 3,0 in gleichem Maße zu optimieren.

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

Mit benutzerdefinierten numerischen Attributen optimieren

Sie können die Ergebnisse basierend auf benutzerdefinierten numerischen Attributen stückweise linear steigern, indem Sie Kontrollpunkte und die entsprechenden Steigerungswerte angeben.

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

  1. Geben Sie die Boosting-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 die Steigerung angewendet wird. Der Filter muss in einen booleschen Wert aufgelöst werden.
    • CUSTOM_ATTRIBUTE_FIELD_NAME: Der Feldname des benutzerdefinierten numerischen Attributs, dessen Wert die Höhe des Boosts bestimmt.
    • CUSTOM_ATTRIBUTE_VALUE: Der numerische Wert des benutzerdefinierten Attributs für einen bestimmten Kontrollpunkt mit dem Datentyp „String“. 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 höher in den Suchergebnissen platziert. Gibt den Steigerungsbetrag an, der dem benutzerdefinierten Attribut für einen bestimmten Kontrollpunkt zugeordnet ist.

Wenn ein Dokument im Suchergebnis die angegebene Bedingung erfüllt, wird ein Boost-Betrag wie folgt angewendet:

Attributwert Optimierungsbetrag
Weniger als der erste Kontrollpunkt Entspricht dem Steigerungsbetrag des ersten Kontrollpunkts
Gleich dem Kontrollpunkt Entspricht dem zugeordneten Steigerungsbetrag
Zwischen Kontrollpunkten Wird durch lineare Interpolation berechnet.
Größer als der letzte Kontrollpunkt Entspricht dem Steigerungsbetrag des letzten Kontrollpunkts

Anwendungsbeispiel

Angenommen, Ihr Datenspeicher enthält Daten zu Hotels und deren Sternebewertungen. Sie möchten die Hotel-Suchergebnisse proportional zu 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 Optimierungsbetrag
kleiner oder gleich 3,5 0,25
zwischen 3,5 und 4,0 zwischen 0,25 und 0,30, berechnet mit linearer Interpolation
gleich 4,0 0,30
zwischen 4,0 und 4,5 zwischen 0,30 und 0,32, berechnet mit linearer Interpolation
größer als oder gleich 4,5 0,32

Boost nach Aktualität

Sie können die Ergebnisse basierend auf Datums- und Zeitattributen stückweise linear steigern, indem Sie Kontrollpunkte und die entsprechenden Steigerungswerte angeben.

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

  1. Geben Sie die Boosting-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 die Steigerung angewendet wird. Der Filter muss in einen booleschen Wert aufgelöst werden.
    • DATETIME_FIELD_NAME: Der Feldname eines benutzerdefinierten DATETIME-Attributs, z. B. „date of publication“ (Veröffentlichungsdatum) oder „date of last update“ (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. Sie wird als Dauer zwischen dem Datum und der Uhrzeit der Suche und dem Datum und der Uhrzeit des benutzerdefinierten Datetime-Attributs eines Dokuments berechnet. Der Wert für die Dauer muss gemäß dem ISO 8601-Format im Muster [nD][T[nH][nM][nS]] angegeben werden. Der Zeitraum zwischen dem 1. Januar 2024 und dem 1. März 2024 kann beispielsweise als 59D ausgedrückt werden. Ebenso kann die Dauer von zweieinhalb Tagen 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 höher in den Suchergebnissen platziert. Gibt den Steigerungsbetrag an, der dem benutzerdefinierten Attribut für Datum/Uhrzeit für einen bestimmten Kontrollpunkt zugeordnet ist.

Wenn ein Dokument im Suchergebnis die angegebene Bedingung erfüllt, wird ein Boost-Betrag wie folgt angewendet:

Dauer (Wert) Optimierungsbetrag
Weniger als der erste Kontrollpunkt Entspricht dem Steigerungsbetrag des ersten Kontrollpunkts
Entspricht einem bestimmten Kontrollpunkt Entspricht dem zugeordneten Steigerungsbetrag
Zwischen Kontrollpunkten Wird durch lineare Interpolation berechnet
Größer als der letzte Kontrollpunkt Entspricht dem Steigerungsbetrag des letzten Kontrollpunkts

Beispiel für einen Anwendungsfall mit einem benutzerdefinierten Attribut vom Typ „Datum/Uhrzeit“

Angenommen, Ihr Datenspeicher enthält strukturierte Daten, in denen jedes Dokument ein Veröffentlichungsdatum hat. Sie möchten die Suchergebnisse proportional zu ihrer Aktualität hervorheben. 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 Optimierungsbetrag
maximal 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
90 Tage oder mehr 0,0

Beispielanwendungsfall 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 definieren, indem Sie das Feld fieldName wie folgt auf pageModified festlegen:

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

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

Beispiel für einen Anwendungsfall mit Relevanzfilter

Die Regulierung des Boost-Betrags 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 Boost-Bedingung oder Relevanzfilter und gibt die Relevanz der Dokumente für die Anfrage an.

Dokument Veröffentlichungsdatum Relevanz Ranking
A 1. Februar 2024 Hoch #1
B 1. März 2024 Hoch #2
C 1. April 2024 Am niedrigsten #3
D 1. Mai 2024 Mittel #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 erhöht werden.

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

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

Das Ergebnis mit der geringsten 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-Betrag verstärkt werden. Die relevantesten Ergebnisse werden weiter unten platziert.

Daher empfiehlt Google, mit einem niedrigen, präzisen Wert für die Steigerung zu beginnen und den Wert je nach Suchergebnis anzupassen. In diesem Beispiel könnten Sie mit Steigerungsbeträgen von 0,1 oder weniger beginnen, um relevantere Ergebnisse oben zu erhalten.

Nächste Schritte

  • Senden Sie eine Suchanfrage mit der Boosting-Spezifikation im Feld boostSpec.
  • Um die Auswirkungen von Boost auf die Suchqualität einer benutzerdefinierten Such-App zu verstehen, müssen Sie die Suchqualität bewerten. Weitere Informationen finden Sie unter Suchqualität bewerten.