Bereitstellungssteuerungen konfigurieren

Mit Steuerelementen für die Bereitstellung (auch Steuerelemente genannt) wird das Standardverhalten einer Anfrage geändert.

Mit den Steuerelementen können z. B. Ergebnisse erhöht oder herabgestuft oder Einträge aus zurückgegebenen Ergebnisse miteinander verknüpfen, Suchanfragen als Synonyme miteinander verknüpfen oder Suchanfragen an angegebene URIs.

Bereitstellungseinstellungen

Wenn Sie die Ergebnisse einer Anfrage ändern möchten, müssen Sie zuerst ein Steuerelement für die Bereitstellung erstellen. Fügen Sie dann die mit einer App gesteuert werden. Eine Einstellung wirkt sich nur auf Anfragen einer App, mit der das Steuerelement verknüpft ist Wenn ein Steuerelement nicht mit einer App verknüpft ist, hat es keine Auswirkungen.

Einige Steuerelemente, z. B. die Optimierungssteuerung, sind von Datenspeichern abhängig. Wenn ein Datenspeicher aus einer App entfernt wird, werden auch alle datenspeicherabhängigen Steuerelemente aus dieser App entfernt und inaktiv, aber nicht gelöscht.

Beim Erstellen eines Steuerelements können Sie optional eine Bedingung definieren, die bestimmt, wenn das Steuerelement angewendet wird. Bedingungen werden mithilfe von Bedingungsfeldern definiert. Die folgende Bedingungsfelder sind verfügbar:

  • queryTerms Die Einstellung wird angewendet, wenn bestimmte Abfragen nach denen Sie gesucht haben.
  • activeTimeRange: Die Steuerung wird angewendet, wenn eine Anfrage innerhalb eines bestimmten Zeitraums erfolgt.

Wenn für ein Steuerelement beide Bedingungstypen angegeben sind, wird das Steuerelement angewendet. wenn beide Bedingungstypen erfüllt sind. Wenn für dieselbe Bedingung mehrere Werte angegeben werden, muss nur einer der Werte übereinstimmen, damit die Bedingung erfüllt ist.

Betrachten Sie zum Beispiel die folgende Bedingung mit zwei angegebenen Suchbegriffen:

"queryTerms": [
  {
    "value": "gShoe",
    "fullMatch": true
  },
  {
    "value": "gBoot",
    "fullMatch": true
  }
]

Die Bedingung wird erfüllt für eine Anfrage mit SearchRequest.query="gShoe" oder eine Anfrage bei SearchRequest.query="gBoot", aber nicht mit SearchRequest.query="gSandal" oder anderen .

Wenn keine Bedingungen angegeben sind, wird die Einstellung immer angewendet.

Weitere Informationen finden Sie unter servingConfigs.search in der API-Referenz.

Arten von Auslieferungseinstellungen

Folgende Arten von Bereitstellungssteuerungen sind verfügbar:

Steuerung Beschreibung Verfügbar für
Boost-Steuerung Ändert die zurückgegebene Reihenfolge der Ergebnisse Suchanwendungen mit Datenspeichern, die ein Schema unterstützen, z. B. Datenspeicher mit strukturierten Daten, Websites mit strukturierten Daten, unstrukturierte Daten mit Metadaten oder Mediendaten
Filtersteuerung Entfernt Einträge aus den zurückgegebenen Ergebnissen Nach Apps mit Datenspeichern suchen, die ein Schema unterstützen, z. B. Datenspeicher mit strukturierten Daten, Websites mit strukturierten Daten, unstrukturierte Daten mit Metadaten oder Mediendaten
Einstellungen für Synonyme Verknüpft Abfragen miteinander Nach Apps mit Website-, strukturierten, unstrukturierten oder Mediendatenspeichern suchen
Weiterleitungssteuerung Weiterleitung an einen angegebenen URI Alle Such-Apps

Einstellungen für die optimierte Anzeigenbereitstellung

Eine Steuerung für die optimierte Auslieferung wird durch eine boostAction definiert.

Die Syntax für boostAction lautet so:

{
    "boost": "BOOST",
    "filter": "FILTER",
    "dataStore": "DATA_STORE_RESOURCE_PATH"
}
  • BOOST: Eine Gleitkommazahl zwischen -1 und 1. Wenn der Wert negativ ist, werden die Ergebnisse später in den Suchergebnissen angezeigt. Wenn der Wert positiv ist, werden Ergebnisse früher in den Suchergebnissen angezeigt.
  • FILTER: Ein String, der angibt, die das Dokument erfüllen muss. Wenn das Dokument mit allen die Anforderungen erfüllt, wird der Boost angewendet. Andernfalls gibt es keine Änderung. Wenn dieses Feld leer ist, wird der Boost auf alle Dokumente im Datenspeicher angewendet. Die Filtersyntax finden Sie unter Filterausdruck Syntax.
  • DATA_STORE_RESOURCE_PATH: Der vollständige Ressourcenpfad des Datenspeichers, dessen Dokumente durch diese Einstellung beschleunigt werden sollen. Das Format des vollständigen Ressourcenpfads ist projects/PROJECT_ID/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID Dieser Datenspeicher muss mit der in der Anfrage angegebenen Engine verknüpft sein.

Steuerelemente für die Filterbereitstellung

Ein Steuerelement für die Filterauslieferung ist ein Steuerelement mit einer filterAction.

Die Syntax für filterAction lautet so:

{
    "filter": "FILTER"
}
  • FILTER: Ein String, der Anforderungen angibt, die vom Dokument. Wenn das Dokument allen Anforderungen entspricht, wird das Ergebnis in die Ergebnisliste aufgenommen. Andernfalls wird das Ergebnis aus dem Ergebnis entfernt. Liste. Informationen zur Filtersyntax finden Sie unter Syntax von Filterausdrücken.

Steuerelemente für die Bereitstellung von Synonymen

Eine Synonymbereitstellungssteuerung ist ein Steuerelement mit einem synonymsAction.

Die Syntax für eine synonymsAction lautet:

{
    "synonyms": "SYNONYMS"
}
  • SYNONYMS: Strings, die miteinander verknüpft werden, sodass für jeden String mit höherer Wahrscheinlichkeit ähnliche Ergebnisse angezeigt werden. Es muss mindestens angegeben werden. zwei Strings und Sie können bis zu 100 Strings angeben. Strings müssen UTF-8-codiert sein und Kleinbuchstaben. Doppelte Strings sind nicht zulässig.

Beispiel:

{
    "synonyms": ["pixel", "android phone", "google phone"]
}

Einstellungen für die Weiterleitungsauslieferung

Mit einem Steuerelement für die Weiterleitung können Nutzer an eine angegebene URI weitergeleitet werden.

Weiterleitungseinstellungen sind als Steuerelement mit einem redirectAction definiert.

Syntax für redirectAction:

{
    "redirect_uri": "REDIRECT_URI"
}
  • REDIRECT_URI: Ein URI mit maximal 2.000 Zeichen.

Wenn der Wert des Suchbegriffs beispielsweise „Support“ ist, können Sie eine Weiterleitung auf Ihre Seite für den technischen Support einrichten, anstatt Suchergebnisse für „Support“ zurückzugeben (oder nicht zurückzugeben).

{
    "redirect_uri": ["https://www.example.com/support"]
}

Bedingung queryTerms

queryTerms ist optional. Verwenden Sie diese Option, wenn Sie ein Steuerelement zur Auslieferung verwenden möchten, nach denen gesucht wird. Wenn die Bedingung queryTerms verwendet wird, wird das Steuerelement angewendet, wenn der Wert von queryTerms mit einem Begriff in SearchRequest.query übereinstimmt.

Suchbegriffe können nur verwendet werden, wenn Control.searchUseCase auf SOLUTION_TYPE_SEARCH festgelegt ist.

Pro Vorgang können bis zu 10 verschiedene queryTerms angegeben werden Control.condition. Wenn keine Suchbegriffe angegeben sind, wird das Feld ignoriert.

Die Syntax für eine einzelne queryTerm lautet so:

{
    "value": "VALUE_1",
    "fullMatch": "FULL_MATCH_1"
}
  • VALUE_1: Ein UTF-8-String in Kleinbuchstaben mit der Länge [1, 5000]. Wenn FULL_MATCH_1 = true ist, kann er maximal drei durch Leerzeichen getrennte Begriffe enthalten.
  • FULL_MATCH_1: Ein boolescher Wert. Wenn true festgelegt ist, muss SearchRequest.query vollständig mit queryTerm.value übereinstimmen. Wenn festgelegt auf false gesetzt ist, muss SearchRequest.query queryTerm.value als eine Teilzeichenfolge.

Bedingung activeTimeRange

activeTimeRange ist optional. Es wird geprüft, ob der Zeitpunkt, zu dem eine Anfrage eingegangen ist, zwischen activeTimeRange.startTime und activeTimeRange.endTime liegt.

Für eine einzelne Control.condition können bis zu zehn activeTimeRange-Bereiche angegeben werden. Wenn keine activeTimeRange-Bereiche angegeben sind, wird das Feld ignoriert.

Die Syntax für eine einzelne activeTimeRange lautet so:

[
  {
    "startTime": "START_TIMESTAMP_1",
    "endTime": "END_TIMESTAMP_1"
  }
]
  • START_TIMESTAMP_1: Hier wird der früheste Zeitpunkt (einschließlich) definiert, zu dem das Steuerelement angewendet wird. Zeitstempel stehen in RFC 3339 UTC "Zulu" Format mit Nanosekunden-Auflösung und bis zu neun Nachkommastellen, z. B. "2023-10-02T15:01:23Z"
  • END_TIMESTAMP_1: Hier wird der späteste Zeitpunkt (einschließlich) definiert, zu dem das Steuerelement angewendet wird. Dieser Zeitpunkt muss in der Zukunft liegen.

API-Anleitung: Verhalten der Standardsuchanfrage mit Bereitstellungssteuerungen ändern

Wenn Sie das Standardverhalten von Suchanfragen ändern möchten, erstellen Sie ein Bereitstellungskontrollelement und hängen es an die Standardbereitstellungskonfiguration an.

Hinweise

Wenn Sie Einstellungen für die Auslieferung erstellen möchten, wenden Sie sich an Ihren Google und bitten Sie um Aufnahme in die Zulassungsliste für die Auslieferungseinstellungen.

Steuerelement für die Bereitstellung erstellen

So erstellst du eine Auslieferungssteuerung:

Details zu den Feldern finden Sie in der Controls API-Referenz und die Controls.create API-Referenz.

  1. Suchen Sie Ihre Datenspeicher-ID. Wenn Sie die Datenspeicher-ID bereits haben, fahren Sie mit dem nächsten Schritt fort.

    1. Rufen Sie in der Google Cloud Console die Seite Agent Builder auf und klicken Sie im Navigationsmenü auf Datenspeicher.

      Zur Seite „Datenspeicher“

    2. Klicken Sie auf den Namen des Datenspeichers.

    3. Rufen Sie auf der Datenseite Ihres Datenspeichers die Datenspeicher-ID ab.

  2. Wählen Sie den Bedingungstyp und die Feldwerte für das Steuerelement aus.

    Im Folgenden sehen Sie ein Beispiel für eine bedingte Anweisung, die abgeschnitten wurde:

    {
      "queryTerms": [
          {
            "value": "VALUE_1",
            "fullMatch": FULL_MATCH_1
          },
          {
            "value": "VALUE_2",
            "fullMatch": FULL_MATCH_2
          },
        ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP_1",
          "endTime": "END_TIMESTAMP_1"
        },
        {
          "startTime": "START_TIMESTAMP_2",
          "endTime": "END_TIMESTAMP_2"
        },
      ]
    }
    
  3. Führen Sie die folgenden curl-Befehle aus, um die Steuerelemente zu erstellen.

    Optimierungssteuerung: Klicken Sie, um den Curl-Befehl zum Erstellen einer Optimierungssteuerung aufzurufen.

    Führen Sie den folgenden curl-Befehl aus:

        curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/controls?CONTROL_ID" \
        -d '{
        "displayName": "DISPLAY_NAME",
        "solutionType": "SOLUTION_TYPE_SEARCH",
        "useCases": ["USE_CASE"],
        "conditions": ["CONDITION"],
        "boostAction": "BOOST_ACTION",
        }'

    Filtersteuerung: Klicken Sie, um die curl-Funktion anzuzeigen. zum Erstellen einer Filtersteuerung.

    Führen Sie den folgenden curl-Befehl aus:

        curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/controls?controlId=CONTROL_ID" \
        -d '{
        "displayName": "DISPLAY_NAME",
        "solutionType": "SOLUTION_TYPE_SEARCH",
        "useCases": ["USE_CASE"],
        "conditions": ["CONDITION"],
        "filterAction": "FILTER_ACTION",
        }'

    Synonymsteuerung: Klicken Sie, um den curl-Befehl zum Erstellen einer Synonymsteuerung aufzurufen.

    Führen Sie den folgenden curl-Befehl aus:

        curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/controls?controlId=CONTROL_ID" \
        -d '{
        "displayName": "DISPLAY_NAME",
        "solutionType": "SOLUTION_TYPE_SEARCH",
        "useCases": ["USE_CASE"],
        "conditions": ["CONDITION"],
        "synonymsAction": "SYNONYMS_ACTION",
        }'

    Weiterleitungssteuerung: Klicken Sie, um den curl-Befehl zum Erstellen einer Weiterleitungssteuerung aufzurufen.

    Führen Sie den folgenden curl-Befehl aus:

        curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/controls?controlId=CONTROL_ID" \
        -d '{
        "displayName": "DISPLAY_NAME",
        "solutionType": "SOLUTION_TYPE_SEARCH",
        "useCases": ["USE_CASE"],
        "conditions": ["CONDITION"],
        "redirectAction": "REDIRECT_ACTION",
        }'
    • PROJECT_ID: Die Projektnummer oder -ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: Die eindeutige ID des Datenspeichers.
    • CONTROL_ID: Eine eindeutige Kennung (innerhalb eines Datenspeichers) für das Steuerelement. Die ID darf Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche.
    • DISPLAY_NAME: Der für Nutzer lesbare Name des Steuerelements. Dieser Name sollte einen Hinweis darauf geben, oder warum Sie das Steuerelement verwenden sollten. Muss ein UTF-8-String mit der Länge [1,128] sein.
    • USE_CASE: Muss entweder SEARCH_USE_CASE_SEARCH oder SEARCH_USE_CASE_BROWSE sein. Wenn SEARCH_USE_CASE_BROWSE angegeben ist, kann Condition.queryTerms in der Bedingung nicht verwendet werden.
    • CONDITION (optional): Legt fest, wann das Steuerelement verwendet werden soll. angewendet.
    • BOOST_ACTION: Wird zum Definieren einer Boost-Steuerung verwendet. Weitere Informationen finden Sie in der boostAction API-Referenz
    • FILTER_ACTION: Damit wird ein Filterkontrollelement definiert. Weitere Informationen finden Sie in der filterAction API-Referenz
    • SYNONYMS_ACTION: Damit wird ein Synonyme-Steuerelement definiert. Weitere Informationen finden Sie in der synonymsAction API-Referenz
    • REDIRECT_ACTION: Wird verwendet, um einen Weiterleitungs-URI anzugeben. Weitere Informationen finden Sie in der redirectAction API-Referenz.
  4. Verbinden Sie das Steuerelement mit der App.

    Verstärkungssteuerung: Klicken Sie, um den Befehl „curl“ zu verwenden. zur Verstärkung.

    Führen Sie den folgenden curl-Befehl aus, um ein Boost-Steuerelement an eine Bereitstellung anzuhängen Konfiguration, um die Verwendung bei der Verarbeitung von Anfragen zu ermöglichen:

        curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/default_search?update_mask=boost_control_ids" \
        -d '{
          "boostControlIds": ["BOOST_ID_1", "BOOST_ID_2" … ]
        }'

    BOOST_ID_1 und BOOST_ID_2: Stellen Sie die die Sie im vorherigen Schritt erstellt haben.

    Filtersteuerung: Klicken Sie auf das curl-Symbol für eine Filtersteuerung.

    Führen Sie den folgenden curl-Befehl aus, um einer Bereitstellungskonfiguration eine Filtersteuerung anzuhängen, damit sie für Bereitstellungsanfragen verwendet werden kann:

        curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/default_search?update_mask=filter_control_ids" \
        -d '{
          "filterControlIds": ["FILTER_ID_1", "FILTER_ID_2" … ]
        }'

    FILTER_ID_1 und FILTER_ID_2: stehen für die die Sie im vorherigen Schritt erstellt haben.

    Steuerung für Synonyme: Klicken Sie, um das curl-Symbol für ein Steuerelement für Synonyme.

    Führen Sie den folgenden curl-Befehl aus, um einer App ein Synonyme-Steuerelement hinzuzufügen, damit es für die Auslieferung von Anfragen verwendet werden kann:

        curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/default_search?update_mask=synonyms_control_ids" \
        -d '{
         "synonymsControlIds": ["SYNONYM_ID_1", "SYNONYM_ID_2" … ]
        }'

    SYNONYM_ID_1 und SYNONYM_ID_2: stehen für die die Sie im vorherigen Schritt erstellt haben.

    Weiterleitungssteuerung: Klicken Sie für das curl-Symbol für eine Weiterleitungssteuerung.

    Führen Sie den folgenden curl-Befehl aus, um einer App ein Weiterleitungskontrollelement hinzuzufügen, damit es für die Auslieferung von Anfragen verwendet werden kann:

        curl -X PATCH
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -H "X-Goog-User-Project: PROJECT_ID" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/default_search?update_mask=redirect_control_ids" \
        -d '{
          "redirectControlIds": ["REDIRECT_ID_1", "REDIRECT_ID_2" … ]
        }'

    REDIRECT_ID_1 und REDIRECT_ID_2: Stehen für die Steuerelement-IDs, die Sie im vorherigen Schritt erstellt haben.

Nächste Schritte

  • Um die Auswirkungen einer Auslieferungssteuerung auf die Suchqualität einer generischen Such-App zu verstehen, sollten Sie die Suchqualität bewerten. Weitere Informationen finden Sie unter Suchqualität bewerten.