Websitesuche filtern

Auf dieser Seite wird erläutert, wie Sie Suchanfragen für eine Suchanwendung mit Websitedaten filtern.

Hinweise

Achten Sie darauf, dass Sie eine App und einen Datenspeicher erstellt und Website-Daten in den Datenspeicher aufgenommen haben. Weitere Informationen finden Sie unter Suchanwendung erstellen.

Filterausdrücke

Mit Filterausdrücken können Sie die Suchfilter für Ihre Website erstellen. Wie Sie Ihre Filter erstellen, hängt davon ab, ob Sie die erweiterte Websiteindexierung aktiviert haben. Wählen Sie einen der folgenden Abschnitte aus, je nachdem, ob Sie die einfache Website-Suche oder die erweiterte Websiteindexierung verwenden:

Filterausdrücke für die grundlegende Websuche

In diesem Abschnitt wird das Verhalten von Filterausdrücken bei der einfachen Websitesuche beschrieben (erweiterte Websiteindexierung ist deaktiviert).

Syntax für die grundlegende Websuche

Die folgende Extended Backus–Naur Form fasst die Syntax für Filterausdrücke zum Erstellen eines Website-Suchfilters zusammen, wenn Sie die einfache Website-Suche verwenden. Doppelte Anführungszeichen nach dem Doppelpunkt in einem Filter sind zwingend erforderlich.

    # A single expression or multiple expressions that are joined by "AND".
  filter = expression, { "AND", expression };
  expression =
    # A simple expression applying to a text url string.
    | filter_key, ":", \"text_value\"
  filter_key = (cr | highRange | lowRange | fileType | lr | rights | siteSearch);
  text_value = string value to filter on;

Verfügbare Felder für die einfache Websitesuche

Hier sind die Felder, die zum Filtern Ihrer Website-Suche verfügbar sind, wenn Sie die einfache Website-Suche verwenden:

  • cr (String): Beschränkt die Suchergebnisse auf Dokumente aus einem bestimmten Land. Eine Liste der unterstützten Werte finden Sie unter Werte für die Ländersammlung.

  • highRange (String): Gibt die Obergrenze des Suchbereichs an. Wenn ein Dokument eine Zahl enthält, muss diese Zahl kleiner oder gleich dem Wert von highRange sein, damit das Dokument in die Antwort aufgenommen wird. Geben Sie sowohl highRange als auch lowRange an, um eine Suchanfrage im Bereich dieser Parameter zu erstellen.

  • lowRange (String): Gibt die Untergrenze des Suchbereichs an. Wenn ein Dokument eine Zahl enthält, muss diese Zahl mindestens dem Wert von lowRange entsprechen, damit das Dokument in die Antwort aufgenommen wird. Geben Sie sowohl lowRange als auch highRange an, um eine Suchanfrage im Bereich dieser Parameter zu erstellen.

  • fileType (String): Beschränkt die Suchergebnisse auf Dokumente mit einer bestimmten Erweiterung. Eine Liste der unterstützten Dateitypen finden Sie unter Von Google indexierbare Dateitypen.

  • lr (String): Beschränkt die Suchergebnisse auf Dokumente in einer bestimmten Sprache. Eine Liste der unterstützten Sprachen finden Sie unter Abfrageparameter (lr).

  • rights (string) Filtert Suchergebnisse nach Lizenzierung. Informationen zu den unterstützten Werten finden Sie unter Abfrageparameter (rights).

  • siteSearch (String): Gibt ein URL-Muster für die Webseiten an, die in Ihrer Anfrage durchsucht werden sollen.

Beispiele für die einfache Website-Suche

Hier einige Filterbeispiele für die einfache Website-Suche:

  • {"filter": "cr:\"countryUS\" AND siteSearch:\"https://example.com/example_domain\""}

    Filter für Dokumente, die (1) aus den USA stammen und (2) sich in der Domain https://example.com/example_domain befinden.

  • {"filter": "fileType:\".pdf\" AND lr:\"lang_en\""}

    Filter für Dokumente, die (1) PDF-Dateien sind und (2) auf Englisch verfasst wurden.

  • {"filter": "rights:\"cc_publicdomain\""}

    Filter für Dokumente, die frei von Urheberrechten sind.

Filterausdrücke mit erweiterter Websiteindexierung

In diesem Abschnitt wird das Verhalten von Filterausdrücken bei aktivierter erweiterter Websiteindexierung beschrieben.

Verfügbare Felder für die erweiterte Websiteindexierung

Wenn Sie die erweiterte Website-Indexierung nutzen, können Sie Ihre Website-Suche mit den folgenden Feldern filtern:

  • siteSearch (String): Ein URL-Muster für die Webseiten, die in Ihrer Anfrage durchsucht werden sollen.
  • meta-Tag-Namen und PageMap-Attributnamen: Strukturierte Daten von Ihren Webseiten, die dem Schema Ihres Datenspeichers hinzugefügt werden können, damit die Felder durchsuchbar, abrufbar und indexierbar sind. Weitere Informationen finden Sie unter Strukturierte Daten für die erweiterte Websiteindexierung verwenden.

Syntax für die erweiterte Websiteindexierung

Die folgende Extended Backus–Naur Form fasst die Syntax für Filterausdrücke zusammen, mit der Sie einen Website-Suchfilter erstellen können, wenn Sie die erweiterte Websiteindexierung nutzen. Doppelte Anführungszeichen nach dem Doppelpunkt in einem Filter sind zwingend erforderlich.

Beim Filtern nach siteSearch lautet die EBNF-Syntax:

    # A single expression or multiple expressions that are joined by "OR".
  filter = expression, { "OR", expression };
    # Expressions can be prefixed with "-" or "NOT" to express a negation.
  expression = [ "-" | "NOT " ],
    # A simple expression applying to a text url string.
    | filter_key, ":", \"url_string\"
  filter_key = siteSearch;
  url_string = double quoted string representing a URL;

Wenn Sie nach meta-Tag-Namen und PageMap-Attributnamen filtern, lautet die EBNF-Syntax so:

    # A single expression or multiple expressions that are joined by "OR".
  filter = expression, { "OR", expression };
    # Expressions can be prefixed with "-" or "NOT" to express a negation.
  expression = [ "-" | "NOT " ],
   # Function "ANY" returns true if the field exactly matches any of the literals.
    | text_field, ":", "ANY", "(", literal, { ",", literal }, ")"
  literal = double quoted string;
  # text_field corresponds to the meta tag or PageMap Attribute name, for example, category
  text_field = text field;

Beispiele für die erweiterte Websiteindexierung

Hier sind einige Filterbeispiele für die erweiterte Websiteindexierung mit siteSearch:

  • {"filter": "siteSearch:\"https://example.com/example_domain\""}

    Filter für Dokumente in der Domain https://example.com/example_domain. Beispiel: https://example.com/example_domain/index.html.

  • {"filter": "siteSearch:\"https://example.com/subdomains/*\""}

    Filtert nach Dokumenten, die sich in Domains befinden, die mit https://example.com/subdomains/* übereinstimmen. Beispiel: https://example.com/subdomains/example_subdomain_page

  • {"filter": "siteSearch:\"https://altostrat.com/subdomain/pages/*\" OR siteSearch:\"http://cymbalgroup.com/pages/*\""}

    Filtert nach Dokumenten, die sich in Domains befinden, die dem ersten oder zweiten URL-Muster entsprechen. Beispiel: https://altostrat.com/subdomain/pages/title_page, https://cymbalgroup.com/subdomain/pages/title_page oder https://altostrat.com/subdomain/pages/INFO.

Hier einige Beispiele für das Filtern nach meta oder PageMap-Attributname:

  • {"filter": "product: ANY(\"networking\",\"compute\")"}

    Filter für Dokumente, die das meta-Tag oder das PageMap-Attribut product mit dem Wert networking oder compute enthalten.

  • {"filter": "NOT product: ANY(\"storage\")"}

    Filter für Dokumente, die das meta-Tag oder den PageMap-Attributnamen product mit dem Wert storage nicht enthalten.

  • {"filter": "dateModified>= \"2025-07-31T00:00:00Z\")"}

    Filter für Dokumente, deren Datum der letzten Änderung der 31. Juli 2025 ist. Das Format muss dem Format im Dokumentschema entsprechen. Weitere Informationen finden Sie unter DATETIME.

Weitere Informationen zu meta-Tag-Namen und PageMap-Attributnamen, die für die Indexierung verwendet werden, finden Sie unter Beispiel für die Verwendung von meta-Tags und Beispiel für die Verwendung von PageMaps.

So filtern Sie eine Websuche:

  1. App-ID suchen. 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 KI-Anwendungen auf.

      Gehen Sie zu Apps

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

  2. Wenn Sie eine Websuche filtern möchten, verwenden Sie das Feld filter mit der Methode engines.servingConfigs.search.

    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default 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",
    "filter": "FILTER"
    }'
    

    Ersetzen Sie Folgendes: