Mit Suchanfragen in Knowledge Catalog können Sie bestimmte Daten-Assets in Ihrem Katalog sowohl über semantische als auch über Keyword-Übereinstimmungen finden. Durch die Kombination von natürlicher Sprache, Metadatenfiltern und logischen Operatoren können Sie relevante Einträge finden, um die Daten Ihrer Organisation zu ermitteln, zu verwalten und zu verstehen.
Knowledge Catalog unterstützt aus Gründen der Abwärtskompatibilität auch einen Suchmodus, der nur auf Keywords basiert. Weitere Informationen zu diesem Modus, seinen Filtern und seiner Verwendung finden Sie unter Suche nur nach Keywords.
Übersicht über die Abfragesyntax
Sie können Knowledge Catalog-Suchanfragen mit den folgenden Komponenten erstellen:
- Einfache Suche: Daten-Assets mit einem einzigen Suchbegriff finden.
- Freitextsuche: Daten-Assets mithilfe von Formulierungen in natürlicher Sprache oder Schlüsselwörtern finden.
- Filterprädikate: Sie können Ihre Suche mithilfe bestimmter Metadatenfelder wie Name, Standort, System oder Typ verfeinern.
- Aspekt-Suche: Suchen Sie nach Einträgen anhand der angehängten geschäftlichen und technischen Metadaten.
- Logische Operatoren: Kombinieren Sie mehrere Suchkriterien mit den Operatoren
AND,ORoderNOT, um komplexe Abfragen zu erstellen.
Filterprädikate
Verwenden Sie ein Filterprädikat, um die Suchergebnisse einzugrenzen. Dazu weisen Sie die Suche explizit an, ein bestimmtes Metadatenfeld wie den Namen, den Typ oder das System eines Assets auszuwerten.
Sie können ein Prädikat qualifizieren, indem Sie ihm einen Schlüssel voranstellen, der die Übereinstimmung auf bestimmte Metadaten beschränkt:
- Ein Gleichheitszeichen (
=), um die Suche auf eine genaue Übereinstimmung zu beschränken. - Ein Doppelpunkt (
:) nach dem Schlüssel, um das Prädikat entweder mit einem Teilstring oder einem Token innerhalb des Werts in den Suchergebnissen abzugleichen.
Bei der Tokenisierung wird der Textstream in eine Reihe von Tokens aufgeteilt, wobei jedes Token normalerweise einem einzelnen Wort entspricht.
Beispiel:
name:foowählt Ressourcen mit Namen aus, die den Teilstringfooenthalten, z. B.foo1undbarfoo.description:foowählt Ressourcen mit dem Tokenfooin der Beschreibung aus, z. B.barundfoo.location=foogleicht Ressourcen an einem angegebenen Standort mitfooals Standortnamen ab.
Unterstützte Qualifizierer
Die Knowledge Catalog-Suche unterstützt die folgenden Qualifier:
| Kennzeichner | Beschreibung |
|---|---|
name:x |
Entspricht x als Teilstring der Ressourcen-ID oder des Anzeigenamens der Ressource. |
displayname:x |
Entspricht x als Teilstring des Anzeigenamens der Ressource. |
column:x |
Entspricht x als Teilstring des Spaltennamens (oder des verschachtelten Spaltennamens) im Schema der Ressource. |
description:x |
Entspricht x als Token in der Ressourcenbeschreibung. Beispiel:
|
labels:bar |
Entspricht Ressourcen, die ein Label (mit einem bestimmten Wert) haben und deren Labelschlüssel bar als Teilstring enthält. |
labels=bar |
Entspricht Ressourcen, die ein Label (mit einem Wert) haben und deren Labelschlüssel als String bar entspricht. |
labels.bar:x |
Entspricht x als Teilstring im Wert eines Labels mit dem Schlüssel bar, der an eine Ressource angehängt ist. |
labels.foo=bar |
Entspricht Ressourcen, bei denen der Schlüssel foo und der Schlüsselwert bar ist. |
type=TYPE |
Gleicht Ressourcen eines bestimmten Eintragstyps oder seines Typ-Alias ab. Erfordert den Qualifizierer =. |
projectid:bar |
Entspricht Ressourcen in Google Cloud Projekten, diebar als Teilstring in der ID enthalten. |
parent:x |
Entspricht x als Teilstring des hierarchischen Pfads einer Ressource. |
system=SYSTEM |
Gleicht Ressourcen aus einem bestimmten System ab. Erfordert den Qualifizierer =. |
location=LOCATION |
Gleicht Ressourcen an einem bestimmten Standort mit einem genauen Namen ab. Erfordert den Qualifizierer BigQuery Omni-Assets unterstützen diesen Qualifier mithilfe des BigQuery Omni-Standortnamens.
Beispiel: |
createtime |
Sucht nach Ressourcen, die innerhalb, vor oder nach einem bestimmten Datum, Zeitstempel oder einer relativen Zeit in Tagen erstellt wurden. Informationen zu unterstützten Formaten und Operatoren finden Sie unter Zeitfilter. |
updatetime |
Findet Ressourcen, die innerhalb, 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. |
Kennzeichnungen für genau passende Keywords
Die Prädikatschlüssel type, system, location und die Aspekt-Suche (außer has) unterstützen nur den Qualifier für genaue Übereinstimmung (=), nicht den Qualifier für Teilstrings (:).
Verwenden Sie für diese Prädikate die folgende Syntax für genaue Übereinstimmungen:
| 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-Qualifier
Prädikate wie name, displayname, column, projectid und parent unterstützen den Abgleich von Teilstrings mit dem Doppelpunkt-Qualifizierer (:):
name:transactionsentspricht Ressourcen, deren ID oder Anzeigenametransactionsenthält. Beispiele:daily_transactions_rawundtransactions_v2.column:customer_idgleicht Ressourcen mit einem Spaltennamen ab, dercustomer_identhält.projectid:prodstimmt mit Ressourcen in Projekten überein, deren IDprodenthält. Beispiel:finance-prod-2026
Zeitfilter
Sie können Ressourcen nach Erstellungszeit (createtime) oder Zeitpunkt der letzten Aktualisierung (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,-1d). - Kalenderdaten (
YYYY-MM-DDoderYYYY/MM/DD): Nach einem bestimmten Datum in GMT/UTC filtern. - Vollständige Zeitstempel (
YYYY-MM-DDTHH:MM:SSoderYYYY-MM-DDTHH:MM:SSZ): Filtert nach einem genauen Zeitstempel in GMT/UTC. Teilzeitstempel wieYYYY-MM-DDTHH:MModerYYYY-MM-DDTHHwerden 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 |
|
|
|
| Kalendertermine |
|
|
|
| Zeitstempel und Zeitzonen |
|
|
|
| Tageszeitbereiche |
|
|
|
| Datumsangaben in natürlicher Sprache |
|
|
|
Labelfilter
Verwenden Sie das Prädikat labels, 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 |
Übereinstimmung mit Ressourcen, die ein Label mit dem genauen Schlüssel environment haben, unabhängig von dessen Wert. |
labels:KEY_SUBSTRING |
labels:tier |
Gleicht Ressourcen mit einem Labelschlüssel ab, der tier als Teilstring enthält (z. B. service_tier oder storage_tier). |
labels.KEY=VALUE |
labels.env=prod |
Übereinstimmung mit Ressourcen, bei denen der Labelschlüssel env und der Wert genau prod ist. |
labels.KEY:VALUE_SUBSTRING |
labels.owner:analytics |
Gleicht Ressourcen mit dem Labelschlüssel owner ab, wobei der Wert analytics als Teilstring enthält (z. B. analytics-team oder data-analytics). |
| Mehrere Labels (UND) | labels.env=prod labels.data_tier=tier1 |
Übereinstimmung mit Ressourcen, an die sowohl das Label env=prod als auch das Label data_tier=tier1 angehängt 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. |
Aspekt-Suche
Sie können die Abfragesyntax verwenden, um nach Einträgen anhand der angehängten Aspekte zu suchen.
Bei der Teilstringübereinstimmung wird versucht, eine Übereinstimmung mit einer begrenzten Anzahl von Aspekten zu finden. Wenn Sie den Eintrag nicht mithilfe eines Pfadfragments finden können, verwenden Sie den vollständigen Pfad, um die Suche einzugrenzen und den Recall zu erhöhen.
| Kennzeichner | Beschreibung |
|---|---|
aspect:xoder has:x |
Entspricht x als Teilstring des vollständigen Pfads zum Aspekttyp eines Aspekts, der an den Eintrag angehängt ist, im Format projectid.location.ASPECT_TYPE_ID. |
aspect=xoder 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 |
Sucht nach Aspektfeldwerten. Entspricht
Nur Felder der obersten Ebene des Aspekts können durchsucht werden. |
Logische Operatoren
In einer Abfrage können mehrere Prädikate mithilfe logischer Operatoren kombiniert werden.
Hinweis: Bei den logischen Operatoren AND, OR und NOT wird zwischen Groß- und Kleinschreibung unterschieden. Sie müssen in Großbuchstaben angegeben werden.
Operator AND
Wenn Sie mehrere Suchbegriffe oder Prädikate durch ein Leerzeichen trennen, wird ein logisches UND impliziert. Sie müssen es also nicht explizit schreiben.
Die folgenden Beispiele zeigen, wie Abfragen mit dem Operator AND erstellt werden.
Nach BigQuery-Tabellen suchen
system=bigquery type=tableIm Projekt
banking-prodnach Ressourcen mit einer Spalte namenscustomer_idsuchenprojectid:banking-prod column:customer_idBei Bedarf können Sie den expliziten Operator
ANDverwenden:system=bigquery AND type=table AND location=us-central1
Operator OR
Verwenden Sie den Operator OR, um eine Übereinstimmung mit einer von mehreren Bedingungen zu erzielen. 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 Abfragen mit dem Operator OR erstellt werden.
Nach BigQuery-Tabellen und -Ansichten suchen
system=bigquery (type=table OR type=view)Tabellen in mehreren Systemen suchen
(system=bigquery OR system=spanner) type=tableNach Einträgen in Marketing- oder Finanz-Datasets suchen
system=bigquery (parent:marketing_analytics OR parent:finance_analytics)
Operator NOT
Sie können ein Prädikat negieren, indem Sie ihm ein großgeschriebenes NOT oder einen - (Bindestrich) voranstellen.
Die folgenden Beispiele zeigen, wie Abfragen mit dem Operator NOT erstellt werden.
Alle Tabellen außer denen in einem Sandbox-Projekt suchen
- Operator
NOTverwenden
type=table NOT projectid:sandbox-project- Bindestrich verwenden
type=table -projectid:sandbox-project- Operator
Alle BigQuery-Ressourcen finden, die
testnicht im Namen enthaltensystem=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 Filterprädikate.
In mehreren Projekt-IDs suchen
- Verwenden Sie den Operator
OR:
projectid:(finance-prod|sales-prod|analytics-prod)- Verwenden Sie Klammern:
projectid:finance-prod OR projectid:sales-prod OR projectid:analytics-prod- Verwenden Sie den Operator
Nach Einträgen suchen, die mit mehreren Spaltennamen übereinstimmen (
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 ein Fragezeichen (?) in eine Abfrage 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 Qualifier:für die Teilstringübereinstimmung, um alle Ressourcen zu finden, deren Name_maskedenthält, z. B.customer_records_maskedodertransactions_masked. - Nicht unterstützt:
name:*_masked:*wird als Literalzeichen und nicht als Platzhalter für ein Muster behandelt.
Klammern
Klammern in Suchanfragen haben bestimmte technische Funktionen. Wenn Sie Klammern zu oft verwenden oder auf Abfragen in natürlicher Sprache anwenden, kann dies 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 sie nicht in Klammern. Beispiel:
Find customer orders containing email addresses
Abgekürzte Prädikatsyntax
Klammern sind sehr effektiv, wenn sie mit Prädikatschlüsseln verwendet werden, um mehrere OR- und AND-Bedingungen in einem kompakten Format aufzulisten.
Prädikatschlüssel mit
OR(|) gruppierenSuchen Sie mithilfe von (
|) nach Einträgen, die sich in einem der aufgeführten Projekte befinden.projectid:(finance-prod|finance-test|analytics-raw)Suchen Sie mithilfe von (
OR) nach Einträgen, die sich in einem der aufgeführten Projekte befinden.
projectid:finance-prod OR projectid:finance-test OR projectid:finance-rawPrädikatschlüssel mit
AND(,) gruppieren- Suchen Sie mithilfe von (
,) nach Einträgen, die alle angegebenen Spalten enthalten.
column:(customer_id, order_date, total_amount)- Suchen Sie mithilfe von (
AND) nach Einträgen, die alle angegebenen Spalten enthalten.
column:customer_id AND column:order_date AND column:total_amount- Suchen Sie mithilfe von (
Hybridsuche
Sie können eine Abfrage in natürlicher Sprache mit kompakten Filtern kombinieren.
Wenn Sie beispielsweise nach Tabellen suchen möchten, in denen monatlich aktive Nutzer angegeben sind, 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
- Falsch:
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 Absicht in natürlicher Sprache optimiert. Wenn Sie die Abfrage mit Klammern und expliziten Logikblöcken zu kompliziert gestalten, 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)
- Falsch:
Fügen Sie keine Leerzeichen ein, es sei denn, sie sind Teil des Werts.
- Falsch:
column:( email | id ) - Richtig:
column:(email|id).
- Falsch: