Suchergebnisse abrufen

Auf dieser Seite erfahren Sie, wie Sie eine Vorschau der Suchergebnisse mit der Google Cloud Konsole aufrufen und Suchergebnisse mit der API abrufen.

Statt die Web-App-Benutzeroberfläche zu verwenden, können Sie auch API-Aufrufe ausführen und sie in Ihren Server oder Ihre Anwendung einbinden. Auf dieser Seite finden Sie Codebeispiele für die Ausführung von Suchanfragen mit den gRPC-Clientbibliotheken mit einem Dienstkonto.

Suchergebnisse abrufen

Sie können sich eine Vorschau der Suchergebnisse in der Google Cloud Konsole ansehen oder Suchergebnisse über die API abrufen.

Console

So verwenden Sie die Google Cloud Konsole, um eine Vorschau der Suchergebnisse für eine App mit strukturierten oder unstrukturierten Daten zu sehen:

  1. Öffnen Sie in der Console die Seite Vorschau.
  2. Geben Sie eine Suchanfrage ein.
    1. Wenn Sie die automatische Vervollständigung in Schritt 1 aktiviert haben, wird während der Eingabe eine Liste mit Vorschlägen unter der Suchleiste angezeigt.
  3. Optional: Wenn Sie mehrere Datenspeicher mit Ihrer App verbunden haben, aber nur Ergebnisse aus einem bestimmten Datenspeicher erhalten möchten, wählen Sie den entsprechenden Datenspeicher aus.
  4. Drücken Sie die Eingabetaste, um die Anfrage zu senden.
    1. Unter der Suchleiste wird eine Liste mit Suchergebnissen angezeigt.
    2. Wenn auf der Seite Konfigurationen keine Attributzuordnung definiert ist, wird jedes Suchergebnis als Liste mit Rohattributnamen und -werten angezeigt.
    3. Wenn auf der Seite Konfigurationen Attributzuordnungen gespeichert wurden, werden in den Suchergebnissen dieselben Bilder angezeigt wie in der Vorschau auf der Seite Konfigurationen.
  5. Wenn auf der Seite Konfigurationen Facetten angegeben wurden, werden sie auf dieselbe Weise angezeigt.
  6. Klicken Sie auf den Pfeil unter der Ergebnisliste, um die nächste Ergebnisseite zu laden.

REST

Wenn Sie die API verwenden möchten, um Suchergebnisse für eine App mit strukturierten oder unstrukturierten Daten abzurufen, verwenden Sie die Methode engines.servingConfigs.search:

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

    1. Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf.

      Zu Apps wechseln

    2. Suchen Sie auf der Seite Apps nach dem Namen Ihrer App und entnehmen Sie die App-ID der Spalte ID.

  2. Suchergebnisse in der Vorschau ansehen

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
    "query": "QUERY",
    "userPseudoId": "USER_PSEUDO_ID",
    "pageSize": "PAGE_SIZE",
    "offset": "OFFSET",
    "orderBy": "ORDER_BY",
    "filter": "FILTER",
    "boostSpec": "BOOST_SPEC",
    "facetSpec": "FACET_SPEC",
    "queryExpansionSpec": "QUERY_EXPANSION_SPEC",
    "spellCorrectionSpec": "SPELL_CORRECTION_SPEC",
    "contentSearchSpec": "CONTENT_SEARCH_SPEC",
    "dataStoreSpecs": [{"DATA_STORE_SPEC"}],
    }'
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID.
    • APP_ID: die ID der App, die Sie abfragen möchten.
    • QUERY: Der Abfragetext für die Suche.
    • USER_PSEUDO_ID: Ein UTF-8-codierter String, der als eindeutige pseudonymisierte Kennung zur Nachverfolgung der Nutzer dient. Er darf maximal 128 Zeichen lang sein. Google empfiehlt dringend, dieses Feld zu verwenden, da es die Modellleistung und die Qualität der Personalisierung verbessert. Sie können für dieses Feld ein HTTP-Cookie verwenden, mit dem ein Besucher auf einem einzelnen Gerät eindeutig identifiziert wird. Wichtige Aspekte:

      • Diese Kennung ändert sich nicht, wenn sich der Besucher auf einer Website an- oder abmeldet.
      • Dieses Feld darf nicht für mehrere Nutzer auf dieselbe Kennung festgelegt werden. Andernfalls kann die Verwendung derselben Nutzer-ID für mehrere Nutzer dazu führen, dass Ereignisverläufe verschiedener Nutzer zusammengeführt werden, was die Modellqualität beeinträchtigen kann.
      • Dieses Feld darf keine personenidentifizierbaren Informationen enthalten.
      • Für eine bestimmte Such- oder Browseranfrage muss dieses Feld dem entsprechenden userPseudoId-Feld in den Nutzerereignissen zugeordnet werden.

      Weitere Informationen finden Sie unter userPseudoId.

    • PAGE_SIZE: Die Anzahl der von der Suche zurückgegebenen Ergebnisse. Die maximal zulässige Seitengröße hängt vom Datentyp ab. Seiten, die größer als der Höchstwert sind, werden auf den Höchstwert gesetzt.
    • OFFSET: Optional. Der Startindex der Ergebnisse. Der Standardwert ist 0.

      Wenn das Offset beispielsweise 2, die Seitengröße 10 und die Anzahl der zurückzugebenden Ergebnisse 15 ist, werden auf der ersten Seite die Ergebnisse 2 bis 11 zurückgegeben.

    • ORDER_BY: Optional. Die Reihenfolge, in der die Ergebnisse angeordnet sind.

    • FILTER: Optional. Ein Textfeld zum Filtern Ihrer Suche mit einem Filterausdruck. Der Standardwert ist ein leerer String. Das bedeutet, dass kein Filter angewendet wird.

      Beispiel: color: ANY("red", "blue") AND score: IN(*, 100.0e)

      Weitere Informationen finden Sie unter Suche nach strukturierten oder unstrukturierten Daten filtern.

    • BOOST_SPEC: Optional. Eine Spezifikation zum Hervorheben oder Unterdrücken von Dokumenten. Werte:

      • BOOST: 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.
      • CONDITION: Ein Textfilterausdruck zum Auswählen der Dokumente, auf die die Steigerung angewendet wird. Der Filter muss in einen booleschen Wert aufgelöst werden.

      Weitere Informationen zum Optimieren der strukturierten Suche finden Sie unter Suchergebnisse optimieren.

    • FACET_SPEC: Optional. Eine Facettenspezifikation für die Attributsuche.

    • QUERY_EXPANSION_SPEC: Optional. Eine Spezifikation, die festlegt, unter welchen Bedingungen eine Suchanfragenerweiterung erfolgen soll. Der Standardwert ist DISABLED.

    • SPELL_CORRECTION_SPEC: Optional. Eine Spezifikation, die festlegt, unter welchen Bedingungen eine Rechtschreibkorrektur erfolgen soll. Der Standardwert ist AUTO.

    • CONTENT_SEARCH_SPEC: Optional. Für Snippets, extrahierte Antworten, extrahierte Segmente und Suchzusammenfassungen. Nur für unstrukturierte Daten. Weitere Informationen finden Sie unter:

    • DATA_STORE_SPEC: Filter für einen bestimmten Datenspeicher, in dem gesucht werden soll. Dies kann verwendet werden, wenn Ihre Suchanwendung mit mehreren Datenspeichern verbunden ist. Weitere Informationen finden Sie unter DataStoreSpec.

    • Geführte Suchergebnisse in der Antwort auf die Suchanfrage ansehen:

      Geführte Suchergebnisse werden mit Suchantworten für strukturierte und unstrukturierte Suchanfragen zurückgegeben. Das Ergebnis der geführten Suche enthält eine Liste von extrahierten Schlüssel/Wert-Paaren für Attribute, die auf Dokumenten mit Suchergebnissen basieren. So können Nutzer ihre Suchergebnisse mithilfe von Attributschlüsseln und ‑werten als Filter verfeinern.

      In diesem Beispiel wurde die Farbe „Grün“ verwendet, um die Suchergebnisse zu verfeinern. Dazu wurde eine neue Suchanfrage mit dem Filterfeld _gs.color: ANY("green") gesendet:

      {
      "guidedSearchResult": {
        "refinementAttributes": [
          {
            "attributeKey": "_gs.color",
            "attributeValue": "green"
          },
          {
            "attributeKey": "_gs.category",
            "attributeValue": "shoe"
          }
        ]
      }
      }
      

Dokumentrelevanzbewertungen mit Suchergebnissen abrufen

Die Dokumentrelevanzwerte basieren auf der Ähnlichkeit der Anfrage zum Dokument. Die Werte werden in 11 Buckets im Bereich von 0, 0,1, 0,2 … bis 1,0 eingeteilt. Je höher der Wert, desto relevanter das Dokument.

Berücksichtigen Sie die Dokumentrelevanzwerte für diese Anwendungsfälle:

  • Nach der Suche werden irrelevante Ergebnisse anhand des Relevanzwerts herausgefiltert.

  • Ranking nach der Suche oder als Eingabe für andere Anwendungen

  • Fehlerbehebung: Relevanzbewertungen können Aufschluss darüber geben, warum bestimmte Suchergebnisse zurückgegeben werden.

Für jedes Suchergebnis kann ein Relevanzwert zurückgegeben werden:

  "results": [
    {
      "id": "DOCUMENT_ID",
      "document": {
      ...
      },
      "modelScores": {
        "relevance_score": {
          "values": [
            DOCUMENT-RELEVANCE-SCORE
          ]
        }
      }
    },
    ...

Sehen Sie sich auch den Beispielbefehl im folgenden Verfahren an.

Vorbereitung:Die Such-App muss mit einem strukturierten oder unstrukturierten Datenspeicher verknüpft sein.

REST

Wenn Sie anfordern möchten, dass mit den Suchergebnissen auch die Relevanzwerte für Dokumente zurückgegeben werden, verwenden Sie die Methode engines.servingConfigs.search wie folgt:

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

    1. Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf.

      Zu Apps wechseln

    2. Suchen Sie auf der Seite Apps nach dem Namen Ihrer App und entnehmen Sie die App-ID der Spalte ID.

  2. Führen Sie den folgenden curl-Befehl aus, um mit Suchergebnissen zurückgegebene Werte abzurufen.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
         "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search",
         "query": "QUERY",
         "relevanceScoreSpec": {
           "returnRelevanceScore": true
         }
    }'
    
    • PROJECT_ID: die Projekt-ID.
    • APP_ID: die ID der App, die Sie abfragen möchten.
    • QUERY: Der Abfragetext für die Suche.

Zusammenfassungen von Suchanfragen unterscheiden sich je nach Modell

Wenn Sie Suchzusammenfassungen für Ihre Anfragen generieren, stellen Sie möglicherweise fest, dass sich die Zusammenfassungen zwischen den Konsolenergebnissen und den API-Ergebnissen unterscheiden. Wenn Sie diese Meldung sehen, liegt das wahrscheinlich daran, dass in der Console ein anderes LLM-Modell als in der API verwendet wird. In den curl- und Codebeispielen auf dieser Seite wird das stabile LLM-Modell verwendet.

  • Wenn Sie das LLM-Modell ändern oder ansehen möchten, das auf der Seite Vorschau der Benutzeroberfläche verwendet wird, rufen Sie die Seite Konfigurationen > Tab UI für Ihre App auf.

  • Bei Methodenaufrufen ist das stabile Modell das Standardmodell. Wenn Sie ein anderes LLM-Modell als das stabile Modell verwenden möchten, lesen Sie die Informationen unter Zusammenfassungsmodell angeben und Antwortmodell angeben.