Suchsyntax für Knowledge Catalog

Mit Knowledge Catalog können Sie die Daten Ihrer Organisation erkennen, zentral katalogisieren, verwalten und nachvollziehen. Mit leistungsstarken Suchanfragen können Sie bestimmte Daten-Assets in Ihrem Data Catalog effizient finden. Die Syntax für Suchanfragen umfasst:

  • Einfache Suche: Daten-Assets mit einem einzelnen Suchbegriff finden.
  • Freitextsuche: Sie können Daten-Assets mit Formulierungen in natürlicher Sprache oder mit Keywords finden.
  • Qualifizierte Prädikate: Sie können Ihre Suche mithilfe bestimmter Metadatenfelder wie Name, Ort, System oder Typ verfeinern.
  • Aspektsuche: Suche nach Einträgen auf Grundlage der zugehörigen geschäftlichen und technischen Metadaten.
  • Logische Operatoren: Mehrere Suchkriterien mit den Operatoren AND, OR oder NOT kombinieren, um komplexe Abfragen zu erstellen. Wenn Sie diese Syntax kennen, können Sie die benötigten Daten schnell finden.

Qualifizierte Prädikate

Mit einem qualifizierten Prädikat können Sie die Suchergebnisse eingrenzen, indem Sie die Suche anweisen, ein bestimmtes Metadatenfeld auszuwerten, z. B. einen Asset-Namen, ‑Typ oder ‑System.

Sie können ein Prädikat qualifizieren, indem Sie ihm einen Schlüssel voranstellen, der die Übereinstimmung auf ein bestimmtes Metadatenelement einschränkt:

  • Ein Gleichheitszeichen (=), um die Suche auf eine genaue Übereinstimmung zu beschränken.
  • Ein Doppelpunkt (:) nach dem Schlüssel, um das Prädikat mit einem Teilstring oder einem Token innerhalb des Werts in den Suchergebnissen abzugleichen.

Bei der Tokenisierung wird der Textfluss in eine Reihe von Tokens unterteilt, wobei jedes Token in der Regel einem einzelnen Wort entspricht.

Beispiel:

  • Mit name:foo werden Ressourcen mit Namen ausgewählt, die den Teilstring foo enthalten, z. B. foo1 und barfoo.
  • Mit description:foo werden Ressourcen mit dem Token foo in der Beschreibung ausgewählt, z. B. bar und foo.
  • location=foo stimmt mit Ressourcen an einem angegebenen Standort überein, wobei foo der Name des Standorts ist.

Unterstützte Qualifizierer

Die Knowledge Catalog-Suche unterstützt die folgenden Qualifier:

Kennzeichner Beschreibung
name:x Führt zu Übereinstimmung von x mit einem Teilstring der Ressourcen-ID oder des Anzeigenamens der Ressource.
displayname:x Führt zu Übereinstimmung von x mit einem Teilstring des Anzeigenamens der Ressource.
column:x Führt zu Übereinstimmung von x mit einem Teilstring des Spaltennamens (oder des verschachtelten Spaltennamens) im Schema der Ressource.
description:x Führt zu Übereinstimmung von x mit einem Token in der Ressourcenbeschreibung. Beispiel:
    .
  • description:"products" zeigt alle Ressourcen an, die das Token products in der Beschreibung haben. Beispiel: „Liste der Produkte im Inventar“.
  • In description:"prod" werden nicht die Ressourcen angezeigt, die das Token products in der Beschreibung haben. Stattdessen werden alle Ressourcen angezeigt, die das Token prod in der Beschreibung haben. Zum Beispiel „prod environment“.
labels:bar Führt zu Übereinstimmung mit Ressourcen, die ein Label haben (mit einem Wert) und deren Labelschlüssel bar als Teilstring hat.
labels=bar Führt zu Übereinstimmung mit Ressourcen, die ein Label haben (mit einem Wert) und deren Labelschlüssel bar als String entspricht.
labels.bar:x Führt zu Übereinstimmung von x als Teilstring im Wert eines Labels mit dem Schlüssel bar, das an eine Ressource angehängt ist.
labels.foo=bar Gleicht Ressourcen ab, bei denen der Schlüssel foo und der Schlüsselwert bar ist.
type=TYPE Führt zu Übereinstimmung mit Ressourcen eines bestimmten Eintrags oder seines Typalias. Erfordert den Qualifier =.
projectid:bar Führt zu Übereinstimmung mit Ressourcen in Google Cloud -Projekten, die bar als Teilstring in der ID enthalten.
parent:x Führt zu Übereinstimmung von x mit einem Teilstring des hierarchischen Pfads einer Ressource.
system=SYSTEM Führt zu Übereinstimmung mit Ressourcen aus einem angegebenen System. Erfordert den Qualifier =.
location=LOCATION

Führt zu Übereinstimmung mit Ressourcen an einem angegebenen Standort mit einem genauen Namen. Erfordert den Qualifier =. Beispiel: location=us-central1 stimmt mit Assets überein, die in Iowa gehostet werden.

BigQuery Omni-Assets unterstützen diesen Qualifikator mit dem BigQuery Omni-Standortnamen. Beispiel: location=aws-us-east-1 entspricht BigQuery Omni-Assets in Northern Virginia.

createtime

Findet Ressourcen, die an bzw. zu, vor oder nach einem bestimmten Datum, Zeitstempel oder relativen Zeitraum in Tagen erstellt wurden. Informationen zu unterstützten Formaten und Operatoren finden Sie unter Zeitfilter.

updatetime

Findet Ressourcen, die an bzw. zu, vor oder nach einem bestimmten Datum, Zeitstempel oder relativen Zeitraum in Tagen aktualisiert wurden. Informationen zu unterstützten Formaten und Operatoren finden Sie unter Zeitfilter.

Qualifizierer für genaue Übereinstimmung

Die Prädikatschlüssel type, system, location und die Aspektsuche (ohne has) unterstützen nur den Qualifikator „genau passend“ (=), nicht den Qualifikator „Teilstring“ (:).

Verwenden Sie für diese Prädikate die folgende Syntax für den genauen Abgleich:

Prädikatschlüssel Richtige Syntax Falsche Syntax
type type=table (oder type=view, type=dataset) type:table oder type:tab
system system=bigquery (oder system=spanner) system:bigquery oder system:big
location location=us-central1 (oder location=europe-west1) location:us-central1 oder location:us

Teilstring-Qualifizierer

Prädikate wie name, displayname, column, projectid und parent unterstützen den Abgleich von Teilstrings mit dem Qualifizierer Doppelpunkt (:):

  • name:transactions entspricht Ressourcen, deren ID oder Anzeigename transactions enthält. Beispiele: daily_transactions_raw und transactions_v2.
  • column:customer_id entspricht Ressourcen mit einem Spaltennamen, der customer_id enthält.
  • projectid:prod entspricht Ressourcen in Projekten, deren ID prod enthält. Beispiel: finance-prod-2026

Zeitfilter

Sie können Ressourcen nach Erstellungszeit (createtime) oder letzter Aktualisierungszeit (updatetime) filtern.

Unterstützte Operatoren und Formate

  • Unterstützte Operatoren: :, =, <, >, <=, >=, =>, =<
  • Relative Tage (-Nd): Filtern Sie nach einer relativen Anzahl von Tagen in der Vergangenheit, z. B. -30d, -7d oder -1d.
  • Kalenderdaten (YYYY-MM-DD oder YYYY/MM/DD): Filtern Sie nach einem bestimmten Datum in GMT/UTC.
  • Vollständige Zeitstempel (YYYY-MM-DDTHH:MM:SS oder YYYY-MM-DDTHH:MM:SSZ): Filtern Sie nach einem genauen Zeitstempel in GMT/UTC. Teilzeitstempel wie YYYY-MM-DDTHH:MM oder YYYY-MM-DDTHH werden ebenfalls unterstützt.

Syntax für Zeitfilter

In der folgenden Tabelle wird die Syntax für Zeitfilter erläutert:

Formatkategorie Gültige Syntax Ungültige Syntax Beschreibung
Relative Zeiteinheiten
  • createtime>-30d (letzte 30 Tage)
  • createtime<=-7d (vor 7 Tagen oder früher)
  • updatetime=-1d (vorheriger Tag)
  • updatetime>=-90d
  • createtime>-24h
  • createtime>-60m
  • createtime>-2w
  • createtime>30d
  • Für die relative Zeit werden nur negative Tageinheiten (-Nd) unterstützt.
  • Kürzere Einheiten (Stunden h, Minuten m) und längere Einheiten (Wochen w, Monate m) werden nicht unterstützt.
  • Positive Offsets ohne vorangestelltes Minuszeichen (-) sind ungültig.
Kalenderdaten
  • createtime:2025-01-15
  • createtime>2025-01-01
  • createtime<=2025-06-30
  • createtime:2025/01/15
  • createtime:2025-01
  • createtime:2025
  • createtime:15-01-2025
  • createtime:Jan-15-2025
  • createtime:01/15/2025
  • Datumsangaben müssen dem Format YYYY-MM-DD oder YYYY/MM/DD entsprechen.
  • Formate mit einer nicht standardmäßigen Reihenfolge der Komponenten (z. B. DD-MM-YYYY oder MM/DD/YYYY) oder Monatsnamen sind ungültig.
Zeitstempel und Zeitzonen
  • createtime:2025-01-15T05:30:00
  • createtime>2025-01-15T05:30:00Z
  • createtime:2025-01-15T05:30
  • createtime:2025-01-15T05:30:00-08:00
  • createtime:2025-01-15T05:30:00 EST
  • createtime:2025-01-15T05:30:00+05:30
  • Alle Zeitstempel werden in GMT/UTC ausgewertet.
  • Zeitzonen-Offsets, die nicht GMT sind (z. B. -08:00 oder +05:30), und Zeitzonen-Abkürzungen (z. B. EST oder PST) werden nicht unterstützt.
Tageszeitbereiche
  • createtime>=2025-01-15T09:00:00 createtime<=2025-01-15T17:00:00
  • createtime:09:00:00..17:00:00
  • createtime:09:00-17:00
  • Die Syntax für den Tageszeitbereich wird nicht unterstützt.
  • Verwenden Sie stattdessen separate Vergleiche für die Unter- und Obergrenze mit vollständigen Datum/Uhrzeit-Strings.
Datumsangaben in natürlicher Sprache
  • createtime=-1d
  • createtime>-30d
  • createtime:yesterday
  • createtime:"last week"
  • createtime:today
  • Datumsangaben in natürlicher Sprache werden in createtime- oder updatetime-Qualifizierern nicht unterstützt.
  • Verwenden Sie die Syntax für relative Tage (-1d, -7d) oder explizite Datumsangaben.

Labelfilter

Verwenden Sie das labels-Prädikat, um Ressourcen nach angehängten Labels zu filtern. Sie können nach Labelschlüssel, Labelwert oder beidem filtern:

Abfragemuster Beispiel Beschreibung
labels=KEY labels=environment Entspricht Ressourcen, die ein Label mit dem genauen Schlüssel environment haben, unabhängig vom Wert.
labels:KEY_SUBSTRING labels:tier Führt zu Übereinstimmung mit Ressourcen, deren Labelschlüssel tier als Teilstring enthält (z. B. service_tier oder storage_tier).
labels.KEY=VALUE labels.env=prod Entspricht Ressourcen, bei denen der Labelschlüssel env und der Wert genau prod ist.
labels.KEY:VALUE_SUBSTRING labels.owner:analytics Stimmt mit Ressourcen mit dem Labelschlüssel owner überein, deren Wert analytics als Teilstring enthält (z. B. analytics-team oder data-analytics).
Mehrere Labels (UND) labels.env=prod labels.data_tier=tier1 Entspricht Ressourcen, denen sowohl das Label env=prod als auch das Label data_tier=tier1 zugewiesen ist.
Kombiniert mit System und Typ system=bigquery type=table labels.env=prod labels.confidentiality=high Entspricht BigQuery-Tabellen, die mit env=prod und confidentiality=high gekennzeichnet sind.

Sie können mit der Abfragesyntax nach Einträgen anhand der zugehörigen Aspekte suchen.

Beim Teilstring-Abgleich wird versucht, eine Übereinstimmung mit einer begrenzten Anzahl von Aspekten zu finden. Wenn Sie den Eintrag nicht über ein Fragment des Pfads finden, verwenden Sie den vollständigen Pfad, um die Suche einzugrenzen und die Erinnerung zu erhöhen.

Kennzeichner Beschreibung
aspect:x
oder
has:x
Gleicht x als Teilstring des vollständigen Pfads zum Aspekttyp eines Aspekts ab, der an den Eintrag angehängt ist, im Format projectid.location.ASPECT_TYPE_ID.
aspect=x
oder
has=x
Entspricht x als vollständigem Pfad zum Aspekttyp eines Aspekts, der an den Eintrag angehängt ist, im Format projectid.location.ASPECT_TYPE_ID.
x
OPERATOR
value

Sucht nach Werten für das Feld „Seitenverhältnis“. Entspricht x als Teilstring des vollständigen Pfads zum Aspekttyp und Feldnamen eines Aspekts, der an den Eintrag angehängt ist, in den folgenden Formaten:

  • Syntax für Systemaspekttypen:

    • ASPECT_TYPE_ID.FIELD_NAME
    • dataplex-types.ASPECT_TYPE_ID.FIELD_NAME
    • dataplex-types.LOCATION.ASPECT_TYPE_ID.FIELD_NAME

    Die folgenden Abfragen stimmen beispielsweise mit Einträgen überein, bei denen der Wert des Felds type im Aspekt bigquery-dataset default ist:

    • bigquery-dataset.type=default
    • dataplex-types.bigquery-dataset.type=default
    • dataplex-types.global.bigquery-dataset.type=default
  • Syntax für benutzerdefinierte Aspekttypen:

    • Wenn der Aspekt in der globalen Region erstellt wird: PROJECT_ID.ASPECT_TYPE_ID.FIELD_NAME
    • Wenn der Aspekt in einer bestimmten Region erstellt wird: PROJECT_ID.REGION.ASPECT_TYPE_ID.FIELD_NAME

    Die folgenden Abfragen stimmen beispielsweise mit Einträgen überein, bei denen der Wert des Felds is-enrolled im Aspekt employee-info true ist.

    • example-project.us-central1.employee-info.is-enrolled=true
    • example-project.employee-info.is-enrolled=true

    Die Liste der unterstützten Operatoren hängt vom Feldtyp im Aspekt ab:

    • String: = (genaue Übereinstimmung)
    • Alle Zahlentypen: =, :, <, >, <=, >=, =>, =<
    • Enum: =
    • Datum/Uhrzeit: wie bei Zahlen, aber die zu vergleichenden Werte werden als Datums- und Uhrzeitangaben statt als Zahlen behandelt.
    • Boolesch: =

Es können nur Felder der obersten Ebene des Aspekts durchsucht werden.

Logische Operatoren

In einer Abfrage können mehrere Prädikate mit logischen Operatoren kombiniert werden. Hinweis: Bei den logischen Operatoren AND, OR und NOT wird zwischen Groß- und Kleinschreibung unterschieden. Sie müssen großgeschrieben werden.

Operator AND

Wenn Sie mehrere Suchbegriffe oder ‑prädikate durch ein Leerzeichen trennen, wird implizit „UND“ verwendet. Sie müssen es also nicht explizit schreiben.

Die folgenden Beispiele zeigen, wie Sie Abfragen mit dem Operator AND erstellen.

  • Nach BigQuery-Tabellen suchen

    system=bigquery type=table
    
  • Suche nach Ressourcen im Projekt banking-prod mit einer Spalte namens customer_id

    projectid:banking-prod column:customer_id
    
  • Bei Bedarf können Sie den expliziten AND-Operator verwenden:

    system=bigquery AND type=table AND location=us-central1
    

Operator OR

Mit dem Operator OR können Sie eine oder mehrere Bedingungen abgleichen. Wenn Sie OR mit anderen Kriterien kombinieren, verwenden Sie Klammern ( ), um die Ausdrücke zu gruppieren und die Rangfolge zu definieren.

Die folgenden Beispiele zeigen, wie Sie Abfragen mit dem Operator OR erstellen.

  • Nach BigQuery-Tabellen und -Ansichten suchen

    system=bigquery (type=table OR type=view)
    
  • Tabellen in mehreren Systemen suchen

    (system=bigquery OR system=spanner) type=table
    
  • Nach Einträgen in Marketing- oder Finanzdatensätzen suchen

    system=bigquery (parent:marketing_analytics OR parent:finance_analytics)
    

Operator NOT

Ein Prädikat kann negiert werden, indem ihm ein NOT (Bindestrich) oder ein - vorangestellt wird.

Die folgenden Beispiele zeigen, wie Sie Abfragen mit dem Operator NOT erstellen.

  • Alle Tabellen außer denen in einem Sandbox-Projekt suchen

    • NOT-Operator verwenden
    type=table NOT projectid:sandbox-project
    
    • Bindestrich verwenden
    type=table -projectid:sandbox-project
    
  • Alle BigQuery-Ressourcen suchen, deren Name nicht test enthält

    system=bigquery -name:test
    

Abgekürzte Syntax

Wenn Sie die abgekürzte Syntax verwenden möchten, verwenden Sie | (senkrechter Strich) für OR-Operatoren und , (Komma) für AND-Operatoren in Klammern. Diese abgekürzte Syntax funktioniert für die qualifizierten Prädikate.

  • Über mehrere Projekt-IDs hinweg suchen

    • Verwenden Sie den Operator OR:
    projectid:(finance-prod|sales-prod|analytics-prod)
    
    • Klammern verwenden:
    projectid:finance-prod OR projectid:sales-prod OR projectid:analytics-prod
    
  • Nach Einträgen suchen, die mehreren Spaltennamen entsprechen (AND)

    column:(customer_id,transaction_date,amount)
    
  • Nach Einträgen suchen, die mit einem von mehreren Spaltennamen übereinstimmen (OR)

    column:(customer_id|user_id|client_id)
    

Platzhalterrichtlinie

Die Suchsyntax von Knowledge Catalog unterstützt keine Platzhalter wie * oder ? in Abfragestrings oder ‑prädikaten.

Wenn Sie ein Sternchen (*) oder Fragezeichen (?) in eine Anfrage einfügen, wird es als Literalzeichen und nicht als Platzhalter für den Musterabgleich behandelt.

So suchen Sie beispielsweise nach Tabellen, deren Namen mit _masked enden:

  • Unterstützt: name:_masked – verwendet den Qualifikator für die Teilstringübereinstimmung :, um alle Ressourcen zu finden, deren Name _masked enthält, z. B. customer_records_masked oder transactions_masked.
  • Nicht unterstützt: name:*_masked: Das * wird als Literalzeichen und nicht als Platzhalter für ein Muster behandelt.

Klammern

Klammern in Suchanfragen haben bestimmte technische Funktionen. Wenn Sie Klammern zu häufig verwenden oder sie auf Anfragen in natürlicher Sprache anwenden, kann das den Suchparser verwirren und die Qualität der Ergebnisse beeinträchtigen.

Einfache natürliche Sprache

Wenn Sie eine geschäftliche Frage stellen, übergeben Sie die Anfrage als Nur-Text. Setzen Sie es nicht in Klammern. Geben Sie beispielsweise Folgendes ein:

Find customer orders containing email addresses

Abgekürzte Prädikatsyntax

Klammern sind sehr effektiv, wenn sie mit Attributschlüsseln verwendet werden, um mehrere OR- und AND-Bedingungen in einem kompakten Format aufzulisten.

  • Gruppieren von Vorhersageschlüsseln mit OR (|)

    • Mit (|) nach Einträgen in einem der aufgeführten Projekte suchen

      projectid:(finance-prod|finance-test|analytics-raw)
      
    • Mit (OR) nach Einträgen in einem der aufgeführten Projekte suchen

    projectid:finance-prod OR projectid:finance-test OR projectid:finance-raw
    
  • Gruppieren von Vorhersageschlüsseln mit AND (,)

    • Mit (,) nach Einträgen suchen, die alle angegebenen Spalten enthalten
    column:(customer_id, order_date, total_amount)
    
    • Mit (AND) nach Einträgen suchen, die alle angegebenen Spalten enthalten
    column:customer_id AND column:order_date AND column:total_amount
    

Sie können eine Abfrage in natürlicher Sprache mit kompakten Filtern kombinieren.

Wenn Sie beispielsweise Tabellen mit monatlich aktiven Nutzern finden, die Suche aber auf die angegebenen Projekte beschränken möchten, verwenden Sie die folgende Abfrage:

monthly active users type=table projectid:(data-warehouse|analytical-tier)

Best Practices für die Verwendung von Klammern

  • Setzen Sie nicht die gesamte Frage in Klammern, da die semantische Engine die Klammern möglicherweise als Literalzeichen behandelt, was zu Ergebnissen mit geringer Relevanz führt.

    • Falsch: (Show me datasets about US population by state)
    • Richtig: Show me datasets about US population by state
  • Vermeiden Sie es, komplexe, verschachtelte boolesche Bäume mit Klammern im Feld für natürliche Sprache zu mischen. Die Suche ist für die Intention in natürlicher Sprache optimiert. Wenn Sie die Abfrage mit Klammern und expliziten Logikblöcken überkomplizieren, wird der Parser verwirrt.

    • Falsch: (revenue data) AND system=BIGQUERY AND projectid:(data-warehouse | analytical-tier)
    • Richtig: revenue data system=bigquery projectid:(data-warehouse|analytical-tier)
  • Fügen Sie nicht willkürlich Leerzeichen ein, es sei denn, sie sind Teil des Werts.

    • Falsch: column:( email | id )
    • Richtig: column:(email|id).

Nächste Schritte