Websitesuche filtern

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

Hinweise

Sie müssen eine App und einen Datenspeicher erstellt und Websitedaten in Ihren Datenspeicher aufgenommen haben. Weitere Informationen finden Sie unter Such-App erstellen.

Filterausdrücke

Verwenden Sie Filterausdrücke, um Ihre Websitesuchfilter zu erstellen. Wie Sie Ihre Filter erstellen, hängt davon ab, ob Sie die erweiterte Website-Indexierung aktiviert haben. Lesen Sie den entsprechenden Abschnitt, je nachdem, ob Sie die grundlegende Websitesuche oder die erweiterte Websiteindexierung verwenden:

Filterausdrücke für die grundlegende Websitesuche

In diesem Abschnitt wird das Verhalten von Filterausdrücken bei der grundlegenden Websitesuche erläutert (erweiterte Websiteindexierung deaktiviert).

Syntax für die grundlegende Websitesuche

In der folgenden erweiterten Backus-Naur-Form wird die Syntax für Filterausdrücke zum Erstellen eines Websitesuchfilters für die grundlegende Websitesuche zusammengefasst. Nach dem Doppelpunkt in einem Filter sind doppelte Anführungszeichen 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

Wenn Sie die grundlegende Websitesuche verwenden, können Sie Ihre Suchanfrage mithilfe der folgenden Felder filtern:

  • 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 Sammlung „Country“.

  • highRange (String): Gibt die Obergrenze des Suchbereichs an. Wenn ein Dokument eine Zahl enthält, muss diese Zahl den Wert highRange nicht überschreiten, damit das Dokument in die Antwort aufgenommen wird. Geben Sie sowohl highRange als auch lowRange an, um eine Suchanfrage innerhalb des Bereichs dieser Parameter zu erstellen.

  • lowRange (String): Gibt die Untergrenze des Suchbereichs an. Wenn ein Dokument eine Zahl enthält, muss diese mindestens lowRange betragen, damit das Dokument in die Antwort aufgenommen wird. Geben Sie sowohl lowRange als auch highRange an, um eine Suchanfrage innerhalb des Bereichs 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 Dateitypen, die von Google indexiert werden können.

  • 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 anhand der Lizenzierung. Informationen zu den unterstützten Werten finden Sie unter Abfrageparameter (Berechtigungen).

  • siteSearch (String): Gibt ein URL-Muster für die Webseiten an, in denen Ihre Suchanfrage durchgeführt werden soll.

Beispiele für die grundlegende Websitesuche

Hier einige Filterbeispiele für die grundlegende Websitesuche:

  • {"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 und (2) auf Englisch sind.

  • {"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 erläutert.

Verfügbare Felder für die erweiterte Websiteindexierung

Wenn Sie die erweiterte Website-Indexierung verwenden, können Sie die Websitesuche mithilfe der folgenden Felder filtern:

  • siteSearch (String): Ein URL-Muster für die Webseiten, in denen Ihre Suchanfrage durchgeführt werden soll.
  • meta-Tag-Namen und PageMap-Attributnamen: Strukturierte Daten von Ihren Webseiten, die dem Schema Ihres Datenspeichers hinzugefügt werden können, um die Felder suchbar, abrufbar und indexierbar zu machen. Weitere Informationen finden Sie unter Strukturierte Daten für die erweiterte Websiteindexierung verwenden.

Syntax für die erweiterte Websiteindexierung

In der folgenden erweiterten Backus-Naur-Form wird die Syntax für Filterausdrücke zum Erstellen eines Websitesuchfilters bei erweiterter Websiteindexierung zusammengefasst. Nach dem Doppelpunkt in einem Filter sind doppelte Anführungszeichen zwingend erforderlich.

Wenn Sie nach siteSearch filtern, 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-Tagnamen und PageMap-Attributnamen filtern, 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 " ],
   # 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 in Domains, 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 in Domains, die mit dem ersten oder zweiten URL-Muster übereinstimmen. Beispiel: https://altostrat.com/subdomain/pages/title_page, https://cymbalgroup.com/subdomain/pages/title_page oder https://altostrat.com/subdomain/pages/INFO.

Hier sind einige Beispiele für die Filterung nach meta- oder PageMap-Attributnamen:

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

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

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

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

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

So filtern Sie eine Websitesuche:

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

    1. Rufen Sie in der Google Cloud Console die Seite Agent Builder auf.

      Zu Apps wechseln

    2. Suchen Sie auf der Seite Apps nach dem Namen Ihrer App und sehen Sie sich die ID der App in der Spalte ID an.

  2. Wenn Sie eine Websitesuche 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"
    }'
    
    • PROJECT_ID: Die ID Ihres Projekts.
    • APP_ID: Die ID Ihrer App.
    • QUERY: Der Suchbegriff.
    • FILTER: Ein Textfeld, mit dem Sie Ihre Suche mit einem Filterausdruck filtern können. Der Standardwert ist ein leerer String.

      Informationen zum Erstellen eines Filters für die einfache Websitesuche finden Sie unter Filterausdrücke mit der einfachen Websitesuche.

      Informationen zum Erstellen eines Filters für die erweiterte Websiteindexierung finden Sie unter Filterausdrücke mit erweiterter Websiteindexierung.