search-Operator
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Durchsucht ein Textmuster in mehreren Tabellen und Spalten.
Hinweis
Wenn Sie die spezifischen Tabellen und Spalten kennen, die Sie durchsuchen möchten, ist es leistungsfähiger, die Union und die Operatoren zu verwenden. Der search
Operator kann bei der Suche über eine große Anzahl von Tabellen und Spalten langsam sein.
Syntax
[T|
] search
[kind=
CaseSensitivity ] [in
(
TableSources)
] SearchPredicate
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
T | string |
Die tabellarische Datenquelle, die durchsucht werden soll, z. B. einen Tabellennamen, einen Union-Operator oder die Ergebnisse einer tabellarischen Abfrage. Es kann nicht zusammen mit TableSources angezeigt werden. | |
CaseSensitivity | string |
Ein Kennzeichen, das das Verhalten aller string skalaren Operatoren steuert, z has . B. in Bezug auf die Groß-/Kleinschreibung. Gültige Werte sind default , case_insensitive , case_sensitive . Die Optionen default sind synonym, da das Standardverhalten die Groß-/ case_insensitive Kleinschreibung nicht beachtet. |
|
TableSources | string |
Eine durch Trennzeichen getrennte Liste der Tabellennamen", die an der Suche teilnehmen sollen. Die Liste weist die gleiche Syntax wie die Liste des Union-Operators auf. Es kann nicht zusammen mit TabularSource angezeigt werden. | |
SearchPredicate | string |
✔️ | Ein boolescher Ausdruck, der für jeden Datensatz in der Eingabe ausgewertet werden soll. Wenn er zurückgibt true , wird der Datensatz ausgegeben. Siehe Such-Prädikatsyntax. |
Such-Prädikatsyntax
Mit SearchPredicate können Sie in allen Spalten einer Tabelle nach bestimmten Begriffen suchen. Der Operator, der auf einen Suchbegriff angewendet wird, hängt von der Anwesenheit und Platzierung eines Platzhalters sternchen (*
) im Ausdruck ab, wie in der folgenden Tabelle dargestellt.
Literal | Operator |
---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
Sie können die Suche auch auf eine bestimmte Spalte beschränken, nach einer exakten Übereinstimmung anstelle einer Ausdrucksausstimmung suchen oder nach regulärem Ausdruck suchen. Die Syntax für jeden dieser Fälle wird in der folgenden Tabelle gezeigt.
Syntax | Erklärung |
---|---|
ColumnName: StringLiteral |
Diese Syntax kann verwendet werden, um die Suche auf eine bestimmte Spalte einzuschränken. Das Standardverhalten besteht darin, alle Spalten zu durchsuchen. |
ColumnName== StringLiteral |
Diese Syntax kann verwendet werden, um nach exakten Übereinstimmungen einer Spalte mit einem Zeichenfolgenwert zu suchen. Das Standardverhalten besteht darin, nach einer Ausdrucksversprechung zu suchen. |
Column matches regex StringLiteral |
Diese Syntax gibt den Regulären Ausdrucksabgleich an, in dem StringLiteral das regex-Muster ist. |
Verwenden Sie boolesche Ausdrücke, um Bedingungen zu kombinieren und komplexere Suchvorgänge zu erstellen. Würde z "error" and x==123
. B. eine Suche nach Datensätzen mit dem Ausdruck error
in allen Spalten und dem Wert 123
in der x
Spalte ergeben.
Hinweis
Wenn TabularSource und TableSources nicht angegeben werden, wird die Suche über alle uneingeschränkten Tabellen und Ansichten der Datenbank im Bereich übertragen.
Beispiele für Such-Prädikatsyntax
# | Syntax | Bedeutung (Äquivalent where ) |
Kommentare |
---|---|---|---|
1 | search "err" |
where * has "err" |
|
2 | search in (T1,T2,A*) "err" |
Union T1,T2,A* | wobei * hat "err" |
|
3 | search col:"err" |
where col has "err" |
|
4 | search col=="err" |
where col=="err" |
|
5 | search "err*" |
where * hasprefix "err" |
|
6 | search "*err" |
where * hassuffix "err" |
|
7 | search "*err*" |
where * contains "err" |
|
8 | search "Lab*PC" |
where * matches regex @"\bLab.*PC\b" |
|
9 | search * |
where 0==0 |
|
10 | search col matches regex "..." |
where col matches regex "..." |
|
11 | search kind=case_sensitive |
Bei allen Zeichenfolgenvergleichen wird zwischen Groß- und Kleinschreibung unterschieden. | |
12 | search "abc" and ("def" or "hij") |
where * has "abc" and (* has "def" or * has hij") |
|
13 | search "err" or (A>a and A<b) |
where * has "err" or (A>a and A<b) |
Hinweise
Im Gegensatz zum Suchoperator unterstützt der search
Operator folgendes nicht:
withsource=
: Die Ausgabe enthält immer eine Spalte vom Typstring
,$table
deren Wert der Tabellenname ist, aus dem jeder Datensatz abgerufen wurde (oder einige vom System generierte Namen, wenn die Quelle keine Tabelle, sondern ein zusammengesetzter Ausdruck ist).project=
,project-smart
: Das Ausgabeschema entspricht demproject-smart
Ausgabeschema.
Beispiele
Globale Ausdruckssuche
Suchen Sie nach einem Begriff über alle uneingeschränkten Tabellen und Ansichten der Datenbank im Bereich.
search "Green"
Die Ausgabe enthält Datensätze aus den Customers
, Products
und SalesTable
Tabellen. In Customers
den Datensätzen werden alle Kunden mit dem Nachnamen "Grün" angezeigt, und die Products
Datensätze SalesTable
zeigen Produkte mit einer Erwähnung von "Grün".
Bedingte globale Ausdruckssuche
Suchen Sie nach Datensätzen, die mit beiden Ausdrücken über alle uneingeschränkten Tabellen und Ansichten der Datenbank im Bereich übereinstimmen.
search "Green" and ("Deluxe" or "Proseware")
Durchsuchen einer bestimmten Tabelle
Suchen Sie nur in der Customers
Tabelle.
search in (Products) "Green"
Suche unter Beachtung der Groß-/Kleinschreibung
Suchen Sie nach Datensätzen, die beide Begriffe mit Groß-/Kleinschreibung über alle uneingeschränkten Tabellen und Ansichten der Datenbank im Bereich übereinstimmen.
search kind=case_sensitive "blue"
Bestimmte Spalten durchsuchen
Suchen Sie nach einem Begriff in den Spalten "Vorname" und "Nachname" über allen uneingeschränkten Tabellen und Ansichten der Datenbank im Bereich.
search FirstName:"Aaron" or LastName:"Hughes"
Einschränken der Suche nach Zeitstempel
Suchen Sie nach einem Begriff über allen uneingeschränkten Tabellen und Ansichten der Datenbank im Bereich, wenn der Ausdruck in einem Datensatz mit einem Datum größer als das angegebene Datum angezeigt wird.
search "Hughes" and DateKey > datetime('2009-01-01')
Tipps zur Leistungssteigerung
# | Tipp | Bevorzugt | Over |
---|---|---|---|
1 | Verwenden Sie lieber einen einzelnen search Operator über mehrere aufeinander folgende search Operatoren. |
search "billg" and ("steveb" or "satyan") |
suchen "billg" | suche "steveb" oder "satyan" |
2 | Bevorzugen Sie es, innerhalb des search Operators zu filtern |
search "billg" and "steveb" |
search * | wobei * hat "billg" und * hat "steveb" |