Freigeben über


search operator

Applies to: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Durchsucht ein Textmuster in mehreren Tabellen und Spalten.

Note

If you know the specific tables and columns you want to search, it's more performant to use the union and where operators. 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

Learn more about syntax conventions.

Parameters

Name Type Required Description
T string The tabular data source to be searched over, such as a table name, a union operator, or the results of a tabular query. Can't be specified together with TableSources.
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. The list has the same syntax as the list of the union operator. Can't be specified together with tabular data source (T).
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.

Note

If both tabular data source (T) and TableSources are omitted, the search is carried over all unrestricted tables and views of the database in scope.

Such-Prädikatsyntax

The SearchPredicate allows you to search for specific terms in all columns of a table. Der Operator, der auf einen Suchbegriff angewendet wird, hängt vom Vorhandensein und der Platzierung eines Platzhalter-Sternchens (*) 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 Explanation
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.
Columnmatches regexStringLiteral This syntax indicates regular expression matching, in which StringLiteral is the regex pattern.

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.

Beispiele für Such-Prädikatsyntax

# Syntax Bedeutung (Äquivalent where) Comments
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)

Remarks

Unlike the find operator, the search operator doesn't support the following syntax:

  1. withsource=: Die Ausgabe enthält immer eine Spalte namens $table vom Typ string, 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).
  2. project=, project-smart: Der search Operator unterstützt diese Optionen zum Anpassen der Ausgabespalten nicht. Stattdessen wählt er automatisch einen relevanten Satz von Spalten für die Ausgabe aus, der dem Satz von Spalten entspricht, die von der project-smart Option im find Operator abgerufen werden.

Examples

The examples in this article use publicly available tables in the help cluster, such as the StormEvents table in the Samples database.

The examples in this article use publicly available tables, such as the Weather table in the Weather analytics sample gallery. Möglicherweise müssen Sie den Tabellennamen in der Beispielabfrage so ändern, dass er der Tabelle in Ihrem Arbeitsbereich entspricht.

Im folgenden Beispiel wird gezeigt, wie eine globale Ausdruckssuche ausgeführt wird. Search for the term Green in all the tables of the ContosoSales database.

The output finds records with the term Green as a last name or a color in the Customers, Products, and SalesTable tables.

 search "Green"

Output

$table CityName ContinentName CustomerKey Education FirstName Gender LastName
Customers Ballard North America 16549 Partial College Mason M Green
Customers Bellingham North America 2070 High School Adam M Green
Customers Bellingham North America 10658 Bachelors Sara F Green
Customers Beverly Hills North America 806 Graduate Degree Richard M Green
Customers Beverly Hills North America 7674 Graduate Degree James M Green
Customers Burbank North America 5241 Graduate Degree Madeline F Green

Das folgende Beispiel zeigt, wie eine bedingte globale Ausdruckssuche ausgeführt wird. Search for records that contain the term Green and one of either terms Deluxe or Proseware in the ContosoSales database.

search "Green" and ("Deluxe" or "Proseware")

Output

$table ProductName Manufacturer ColorName ClassName ProductCategoryName
Products Contoso 8GB Uhr & Radio MP3 Player X850 Grün Contoso, Ltd Green Deluxe Audio
Products Proseware Scan Jet Digital Flat Bed Scanner M300 Green Proseware, Inc. Green Regular Computers
Products Proseware All-In-One Fotodrucker M200 Grün Proseware, Inc. Green Regular Computers
Products Proseware Ink Jet Wireless All-In-One Drucker M400 Grün Proseware, Inc. Green Regular Computers
Products Proseware Ink Jet Instant PDF Sheet-Fed Scanner M300 Green Proseware, Inc. Green Regular Computers
Products Proseware Desk Jet All-in-One-Drucker, Scanner, Kopierer M350 Grün Proseware, Inc. Green Regular Computers
Products Proseware Duplexscanner M200 Grün Proseware, Inc. Green Regular Computers

Im folgenden Beispiel wird veranschaulicht, wie Sie innerhalb einer bestimmten Tabelle nach einem Ausdruck suchen. Search for the term Green only in the Customers table.

search in (Products) "Green"

Output

$table ProductName Manufacturer ColorName
Products Contoso 4G MP3 Player E400 Green Contoso, Ltd Green
Products Contoso 8GB Super-Slim MP3/Video Player M800 Grün Contoso, Ltd Green
Products Contoso 16GB Mp5 Player M1600 Grün Contoso, Ltd Green
Products Contoso 8GB Uhr & Radio MP3 Player X850 Grün Contoso, Ltd Green
Products NT Wireless Bluetooth Stereo Headphones M402 Grün Northwind Traders Green
Products NT Wireless Sender und Bluetooth Headphones M150 Green Northwind Traders Green

Im folgenden Beispiel wird veranschaulicht, wie Sie nach einem Begriff mit Beachtung der Groß-/Kleinschreibung suchen. Search for records that match the case-sensitive term in the ContosoSales database.

search kind=case_sensitive "blue"

Output

$table ProductName Manufacturer ColorName ClassName
Products Contoso 16GB Neue Generation MP5 Player M1650 blau Contoso, Ltd blue Regular
Products Contoso Bright Light Akku E20 blau Contoso, Ltd blue Economy
Products Litware 120mm Blue LED Case Lüfter E901 blau Litware, Inc. blue Economy
NewSales Litware 120mm Blue LED Case Lüfter E901 blau Litware, Inc. blue Economy
NewSales Litware 120mm Blue LED Case Lüfter E901 blau Litware, Inc. blue Economy
NewSales Litware 120mm Blue LED Case Lüfter E901 blau Litware, Inc. blue Economy
NewSales Litware 120mm Blue LED Case Lüfter E901 blau Litware, Inc. blue Economy

Im folgenden Beispiel wird veranschaulicht, wie Sie nach einem Ausdruck in bestimmten Spalten suchen. Search for the terms Aaron and Hughes, in the "FirstName" and "LastName" columns respectively, in the ContosoSales database.

search FirstName:"Aaron" or LastName:"Hughes"

Output

$table CustomerKey Education FirstName Gender LastName
Customers 18285 High School Riley F Hughes
Customers 802 Graduate Degree Aaron M Sharma
Customers 986 Bachelors Melanie F Hughes
Customers 12669 High School Jessica F Hughes
Customers 13436 Graduate Degree Mariah F Hughes
Customers 10152 Graduate Degree Aaron M Campbell

Im folgenden Beispiel wird veranschaulicht, wie Sie nach einem Ausdruck mit einem Zeitstempel suchen. Search for the term Hughes in the ContosoSales database, if the term appears in a record with a date greater than the given date in 'datetime'.

search "Hughes" and DateKey > datetime('2009-01-01')

Output

$table DateKey SalesAmount_real
SalesTable 2021-12-13T00:00:00Z 446.4715
SalesTable 2021-12-13T00:00:00Z 120.555
SalesTable 2021-12-13T00:00:00Z 48.4405
SalesTable 2021-12-13T00:00:00Z 39.6435
SalesTable 2021-12-13T00:00:00Z 56.9905

Performance Tips

# Tip Prefer 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"