Udostępnij za pośrednictwem


operator wyszukiwania

Przełącz usługi przy użyciu rozwijanej listy Wersja. Dowiedz się więcej o nawigacji.
Dotyczy: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Wyszukuje wzorzec tekstu w wielu tabelach i kolumnach.

Note

Jeśli znasz konkretne tabele i kolumny, które chcesz przeszukiwać, bardziej wydajne jest użycie unii i lokalizacji operatorów. Operator search może być powolny podczas wyszukiwania dużej liczby tabel i kolumn.

Syntax

[T|] search [kind=CaseSensitivity ] [in(TableSources)] SearchPredicate

Dowiedz się więcej na temat konwencji składni.

Parameters

Name Typ Required Description
T string Tabelaryczne źródło danych, które ma być przeszukiwane, takie jak nazwa tabeli, operator unii lub wyniki zapytania tabelarycznego. Nie można określić razem z tabelą TableSources.
CaseSensitivity string Flaga, która kontroluje zachowanie wszystkich string operatorów skalarnych, takich jak has, w odniesieniu do poufności wielkości liter. Prawidłowe wartości to default, , case_insensitivecase_sensitive. Opcje default i case_insensitive są synonimami, ponieważ zachowanie domyślne jest bez uwzględniania wielkości liter.
TableSources string Rozdzielona przecinkami lista "wieloznacznych" nazw tabel do udziału w wyszukiwaniu. Lista ma taką samą składnię jak lista operatora unii. Nie można określić razem ze źródłem danych tabelarycznych (T).
SearchPredicate string ✔️ Wyrażenie logiczne, które ma być oceniane dla każdego rekordu w danych wejściowych. Jeśli zwraca truewartość , rekord jest zwracany. Zobacz Składnia predykatu wyszukiwania.

Note

Jeśli pominięto zarówno tabelaryczne źródło danych, jak i tabele TableSources , wyszukiwanie jest przenoszone na wszystkie nieograniczone tabele i widoki bazy danych w zakresie.

Składnia predykatu wyszukiwania

Funkcja SearchPredicate umożliwia wyszukiwanie określonych terminów we wszystkich kolumnach tabeli. Operator zastosowany do terminu wyszukiwania zależy od obecności i umieszczania gwiazdki wieloznacznych (*) w okresie, jak pokazano w poniższej tabeli.

Literal Operator
billg has
*billg hassuffix
billg* hasprefix
*billg* contains
bi*lg matches regex

Możesz również ograniczyć wyszukiwanie do określonej kolumny, wyszukać dokładne dopasowanie zamiast dopasowania terminu lub wyszukać według wyrażenia regularnego. Składnia dla każdego z tych przypadków jest wyświetlana w poniższej tabeli.

Syntax Explanation
Columnname:StringLiteral Ta składnia może służyć do ograniczenia wyszukiwania do określonej kolumny. Domyślne zachowanie polega na wyszukiwaniu wszystkich kolumn.
Columnname==StringLiteral Ta składnia może służyć do wyszukiwania dokładnych dopasowań kolumny względem wartości ciągu. Domyślne zachowanie polega na wyszukaniu dopasowania terminu.
Kolumnamatches regexStringLiteral Ta składnia wskazuje dopasowanie wyrażenia regularnego, w którym StringLiteral jest wzorcem wyrażeń regularnych.

Użyj wyrażeń logicznych, aby połączyć warunki i tworzyć bardziej złożone wyszukiwania. Na przykład "error" and x==123 spowoduje to wyszukanie rekordów, które mają termin error w dowolnych kolumnach i wartość 123 w kolumnie x .

Przykłady składni predykatu wyszukiwania

# Syntax Znaczenie (równoważne where) Comments
1 search "err" where * has "err"
2 search in (T1,T2,A*) "err" union T1,T2,A* | gdzie * ma wartość "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 W przypadku wszystkich porównań ciągów uwzględniana jest wielkość liter
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

W przeciwieństwie do operatorasearch find, operator nie obsługuje następującej składni:

  1. withsource=: Dane wyjściowe zawsze zawierają kolumnę o nazwie $table typu string, której wartością jest nazwa tabeli, z której pobrano każdy rekord (lub nazwa wygenerowana przez system, jeśli źródło nie jest tabelą, ale wyrażeniem złożonym).
  2. project=, project-smart: search Operator nie obsługuje tych opcji dostosowywania kolumn wyjściowych. Zamiast tego automatycznie wybiera odpowiedni zestaw kolumn dla danych wyjściowych, który jest odpowiednikiem zestawu kolumn pobranych przez project-smart opcję w operatorze find .

Examples

Przykłady w tym artykule używają publicznie dostępnych tabel w klastrze pomocy, takich jak StormEvents tabela w bazie danych Samples .

Przykłady w tym artykule używają publicznie dostępnych tabel, takich jak Weather tabela w galerii przykładów analizy pogody. Może być konieczne zmodyfikowanie nazwy tabeli w przykładowym zapytaniu, aby było zgodne z tabelą w obszarze roboczym.

W poniższym przykładzie pokazano, jak wykonać globalne wyszukiwanie terminów. Wyszukaj termin Zielony we wszystkich tabelach bazy danych ContosoSales .

Dane wyjściowe znajdują rekordy z terminem Zielony jako nazwisko lub kolor w Customerstabelach , Productsi SalesTable .

 search "Green"

Output

$table CityName ContinentName CustomerKey Education FirstName Gender LastName
Customers Ballard Ameryka Północna 16549 Kolegium częściowe Mason M Green
Customers Bellingham Ameryka Północna 2070 Liceum Adam M Green
Customers Bellingham Ameryka Północna 10658 Bachelors Sara F Green
Customers Beverly Hills Ameryka Północna 806 Stopień ukończenia Richard M Green
Customers Beverly Hills Ameryka Północna 7674 Stopień ukończenia James M Green
Customers Burbank Ameryka Północna 5241 Stopień ukończenia Madeline F Green

W poniższym przykładzie pokazano, jak wykonać warunkowe wyszukiwanie terminów globalnych. Wyszukaj rekordy zawierające termin Green i jeden z terminów Deluxe lub Proseware w bazie danych ContosoSales .

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

Output

$table ProductName Manufacturer ColorName ClassName ProductCategoryName
Products Zegar Contoso 8GB & Radio MP3 Odtwarzacz X850 Zielony Contoso, Ltd Green Deluxe Audio
Products Proseware Scan Jet Digital Flat Bed Skaner M300 Zielony Proseware, Inc. Green Regular Computers
Products Proseware All-In-One Photo Printer M200 Green Proseware, Inc. Green Regular Computers
Products Proseware Ink Jet Wireless All-In-One Drukarka M400 Zielony Proseware, Inc. Green Regular Computers
Products Proseware Ink Jet Instant PDF Sheet-Fed Skaner M300 Zielony Proseware, Inc. Green Regular Computers
Products Proseware Desk Jet All-in-One Printer, Skaner, Kopiarka M350 Zielony Proseware, Inc. Green Regular Computers
Products Proseware Duplex Skaner M200 Zielony Proseware, Inc. Green Regular Computers

W poniższym przykładzie pokazano, jak wyszukać termin w określonej tabeli. Wyszukaj termin Zielony tylko w Customers tabeli.

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 Green Contoso, Ltd Green
Products Contoso 16GB Mp5 Player M1600 Green Contoso, Ltd Green
Products Zegar Contoso 8GB & Radio MP3 Odtwarzacz X850 Zielony Contoso, Ltd Green
Products Słuchawki stereo Bluetooth NT NT M402 Green Handlowcy Northwind Green
Products Nadajnik bezprzewodowy NT i słuchawki Bluetooth M150 Green Handlowcy Northwind Green

W poniższym przykładzie pokazano, jak wyszukać termin z uwzględnieniem wielkości liter. Wyszukaj rekordy zgodne z terminem uwzględniającym wielkość liter w bazie danych ContosoSales .

search kind=case_sensitive "blue"

Output

$table ProductName Manufacturer ColorName ClassName
Products Contoso 16GB New Generation MP5 Player M1650 niebieski Contoso, Ltd blue Regular
Products Contoso Bright Light baterii E20 niebieski Contoso, Ltd blue Economy
Products Litware 120mm Niebieski wentylator LED E901 niebieski Litware, Inc. blue Economy
NewSales Litware 120mm Niebieski wentylator LED E901 niebieski Litware, Inc. blue Economy
NewSales Litware 120mm Niebieski wentylator LED E901 niebieski Litware, Inc. blue Economy
NewSales Litware 120mm Niebieski wentylator LED E901 niebieski Litware, Inc. blue Economy
NewSales Litware 120mm Niebieski wentylator LED E901 niebieski Litware, Inc. blue Economy

W poniższym przykładzie pokazano, jak wyszukiwać termin w określonych kolumnach. Wyszukaj terminy Aaron i Hughes w kolumnach "FirstName" i "LastName" odpowiednio w bazie danych ContosoSales .

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

Output

$table CustomerKey Education FirstName Gender LastName
Customers 18285 Liceum Riley F Hughes
Customers 802 Stopień ukończenia Aaron M Sharma
Customers 986 Bachelors Melanie F Hughes
Customers 12669 Liceum Jessica F Hughes
Customers 13436 Stopień ukończenia Mariah F Hughes
Customers 10152 Stopień ukończenia Aaron M Campbell

W poniższym przykładzie pokazano, jak wyszukiwać termin ze znacznikiem czasu. Wyszukaj termin Hughes w bazie danych ContosoSales , jeśli termin pojawia się w rekordzie z datą większą niż dana data w kolumnie "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

Porady dotyczące wydajności

# Tip Prefer Over
1 Preferuj używanie jednego search operatora w kilku kolejnych search operatorach search "billg" and ("steveb" or "satyan") wyszukiwanie "billg" | wyszukiwanie "steveb" lub "satyan"
2 Preferuj search filtrowanie wewnątrz operatora search "billg" and "steveb" wyszukiwanie * | gdzie * ma "billg" i * ma "steveb"