Suchergebnisse optimieren

Sie können in Ihrer Suchanfrage Boosting-Bedingungen angeben, um bestimmte Dokumente in den Suchergebnissen hervorzuheben oder abzuwerten. Wenn ein Dokument die angegebenen Bedingungen erfüllt, werden ihm die entsprechenden Steigerungswerte zugewiesen 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 Boost-Spezifikation in einer Suchanfrage unterscheidet sich von einer Boost-Steuerung, die mit einer Bereitstellungskonfiguration verknüpft ist. Die Spezifikation für die Steigerung im Feld boostSpec überschreibt die Steuerung der Steigerung, die im Feld boostAction einer Bereitstellungskonfiguration definiert ist. Weitere Informationen zu den Einstellungen für die Leistungssteigerung finden Sie unter Einstellungen für die Leistungssteigerung.

Auf dieser Seite werden die folgenden Arten von Leistungsspezifikationen beschrieben:

Sie können diese Spezifikationen für die Abfrage von Mediensuchanwendungen und generischen Suchanwendungen anwenden, die strukturierte, unstrukturierte und Websitedaten enthalten. Diese Spezifikationen gelten nicht für Such-Apps für die Gesundheitsbranche.

Mit fester Bedingung steigern

So steigern Sie die Ergebnisse um einen festen Betrag, je nachdem, ob sie eine 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: Textfilterausdruck, um die Dokumente auszuwählen, auf die die Steigerung angewendet werden soll. Der Filter muss einen booleschen Wert ergeben.
    • 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 hervorgehoben (sie werden weiter oben in den Ergebnissen angezeigt).

Anwendungsbeispiel

Angenommen, Ihr Datenspeicher enthält Daten zu Hotels und deren Bewertungen. Sie möchten Hotels mit einer Bewertung von mindestens drei Sternen bewerben. Die Bewertung mit Sternen ist im numerischen Feld star_rating verfügbar. Sie können condition in boostSpec als star_rating >= 3.0 und einen Wert für die Steigerung von 0,7 angeben, um alle Hotels mit einer star_rating von 3,0 oder höher um denselben Betrag zu steigern.

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

Mit benutzerdefinierten numerischen Attributen steigern

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

So legen Sie eine Steigerungsspezifikation mit benutzerdefinierten numerischen Attributen fest:

  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: Textfilterausdruck, um die Dokumente auszuwählen, auf die die Steigerung angewendet werden soll. Der Filter muss einen booleschen Wert ergeben.
    • CUSTOM_ATTRIBUTE_FIELD_NAME: Der Feldname des benutzerdefinierten numerischen Attributs, dessen Wert den Wert des Boosts bestimmt.
    • CUSTOM_ATTRIBUTE_VALUE: Der numerische Wert des benutzerdefinierten Attributs für einen bestimmten Steuerpunkt 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 hervorgehoben (sie werden weiter oben in den Ergebnissen angezeigt). Gibt den Wert für die Steigerung an, der dem benutzerdefinierten Attribut für einen bestimmten Kontrollpunkt zugeordnet ist.

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

Attributwert Boost-Betrag
Weniger als der erste Kontrollpunkt Entspricht dem Boost-Betrag des ersten Steuerpunkts
Gleich dem Kontrollpunkt Ist gleich dem zugeordneten Boost-Betrag
Zwischen Kontrollpunkten Wird durch lineare Interpolation berechnet
Höher als der letzte Kontrollpunkt Entspricht dem Boost-Betrag des letzten Kontrollpunkts

Anwendungsbeispiel

Angenommen, Ihr Datenspeicher enthält Daten zu Hotels und deren Bewertungen. Sie möchten die Ergebnisse der Hotelsuche in Abhängigkeit von der Sternebewertung steigern. Sie können die Spezifikation für die Steigerung 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 so hervorgehoben:

Sternebewertung Boost-Betrag
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

Steigerung nach Aktualität

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

So legen Sie eine Spezifikation für die Steigerung mit benutzerdefinierten Datums-/Zeitattributwerten fest:

  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: Textfilterausdruck, um die Dokumente auszuwählen, auf die die Steigerung angewendet werden soll. Der Filter muss einen booleschen Wert ergeben.
    • DATETIME_FIELD_NAME: Der Feldname eines benutzerdefinierten DATETIME-Attributs, z. B. das Veröffentlichungs- oder das Datum der letzten Aktualisierung, oder ein vordefiniertes von Google abgeleitetes Attribut, z. B. datePublished.
    • DURATION_VALUE: Der Wert für die Dauer im dayTimeDuration-Datentyp, der über die Aktualität eines Dokuments entscheidet. Dieser Wert wird als die Dauer zwischen dem Datum und der Uhrzeit, zu dem die Suche ausgeführt wird, und dem Datum und der Uhrzeit des benutzerdefinierten Datums-/Uhrzeitattributs eines Dokuments berechnet. Der Wert für die Dauer 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. 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 hervorgehoben (sie werden weiter oben in den Ergebnissen angezeigt). Gibt den Wert für die Steigerung an, der dem benutzerdefinierten Datums-/Zeitattribut für einen bestimmten Kontrollpunkt zugeordnet ist.

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

Dauer (Wert) Boost-Betrag
Weniger als der erste Kontrollpunkt Entspricht dem Boost-Betrag des ersten Steuerpunkts
Mit einem bestimmten Kontrollpunkt übereinstimmen Ist gleich dem zugeordneten Boost-Betrag
Zwischen Kontrollpunkten Sie wird mithilfe der linearen Interpolation berechnet.
Höher als der letzte Kontrollpunkt Entspricht dem Boost-Betrag des letzten Kontrollpunkts

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

Angenommen, Ihr Datenspeicher enthält strukturierte Daten, bei denen jedes Dokument ein Veröffentlichungsdatum hat. Sie möchten die Suchergebnisse in Abhängigkeit von ihrer Aktualität hervorheben. Sie können die Spezifikation für die Steigerung 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 so hervorgehoben:

Aktualität Boost-Betrag
weniger als oder gleich 7 Tage 0,40
zwischen 7 und 30 Tagen zwischen 0,40 und 0,37, berechnet mithilfe der linearen Interpolation
entspricht 30 Tagen 0,37
zwischen 30 und 60 Tagen zwischen 0,37 und 0,32, berechnet mit linearer Interpolation
ist gleich 60 Tagen 0,32
zwischen 60 und 90 Tagen zwischen 0,32 und 0,0, berechnet mit linearer Interpolation
größer oder gleich 90 Tagen 0,0

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

Beim Crawling der Webseiten in Ihrem Website-Datenspeicher leitet Google Seitendaten anhand der Properties ab, die für Ihre Inhalte gelten. Vertex AI Search fügt Ihrem Schema diese abgeleiteten Seitendateneigenschaften hinzu. Diese abgeleiteten Daten umfassen 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 ergänzen, ohne sie Ihrem Schema hinzuzufügen. Sie können diese vordefinierten Properties verwenden, um Ihre Seite zu optimieren. Sie können die Spezifikation für die Steigerung beispielsweise so definieren, dass das Feld fieldName auf pageModified festgelegt wird:

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

Google ermittelt diese Daten nach dem Best-Effort-Prinzip. Die abgeleiteten Daten stimmen möglicherweise nicht mit den tatsächlichen Daten überein. Diese Felder werden nur ausgefüllt, wenn Google eine hohe Sicherheit hat. Wenn diese Datumswerte fehlen, werden diese Felder als optional gekennzeichnet.

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

Informationen zum Hinzufügen benutzerdefinierter Attribute für strukturierte Daten, um Ihren Index zu bereichern, finden Sie unter Dem Datenspeicherschema benutzerdefinierte Attribute für strukturierte Daten hinzufügen.

Mit dem Relevanzfilter den Wert des Boosts steuern

Neben Faktoren, die das Ranking eines Ergebnisses beeinflussen, wie Keyword-Abgleich, Kontextabgleich und Relevanz, wirkt sich auch die Steigerungsbedingung erheblich auf das Ranking eines Ergebnisses aus. Daher müssen Sie den Wert der Steigerung sorgfältig anpassen, insbesondere wenn Sie das Feld boostSpec mit dem Relevanzfilter verwenden. Weitere Informationen zum Relevanzfilter finden Sie unter Suchanfragen nach Relevanz auf Dokumentebene filtern.

Angenommen, Sie haben verschiedene Dokumente mit unterschiedlichen Veröffentlichungsdaten. In der folgenden Tabelle sehen Sie für eine bestimmte Suchanfrage das absolute Ranking ohne die Implementierung von Steigerungsmengen oder Relevanzfiltern. Außerdem wird die Relevanz der zu suchenden Dokumente angegeben.

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 Ihrer Suchanfrage die folgenden Suchbedingungen hinzu:

  • Relevanzfilter auf LOW festgelegt
  • Optimieren 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 optimiert werden.

In der Suchausgabe werden die Ergebnisse zuerst nach Relevanz gefiltert und dann wird der Wert für die Steigerung angewendet. Daher ändern die angewendeten Bedingungen das Ranking der Seiten in den Ergebnissen auf folgende Weise:

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 niedrigsten Relevanz wird aufgrund des Relevanzfilters herausgefiltert. Die Dokumente, die für eine Suchanfrage weniger relevant sind, werden als Top-Ergebnisse eingestuft, da sie durch einen hohen Wert für die Steigerung optimiert werden. Die relevantesten Ergebnisse werden niedriger eingestuft.

Daher empfiehlt Google, mit einem niedrigen, genauen Wert für den Steigerungsbetrag zu beginnen und ihn je nach Suchergebnis anzupassen. In diesem Beispiel könnten mit einem Startwert von 0,1 oder weniger relevantere Ergebnisse oben angezeigt werden.

Nächste Schritte

  • Stellen Sie eine Suchanfrage mit der Boost-Spezifikation im Feld boostSpec.
  • Um die Auswirkungen des Boosts auf die Suchqualität einer App für allgemeine Suchanfragen zu verstehen, sollten Sie die Suchqualität bewerten. Weitere Informationen finden Sie unter Suchqualität bewerten.