Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Выполняет поиск текстового шаблона в нескольких таблицах и столбцах.
Note
Если вы знаете определенные таблицы и столбцы, которые вы хотите искать, это более производительно, чтобы использовать объединение и где операторы. Оператор search может быть медленным при поиске по большому количеству таблиц и столбцов.
Syntax
[T|] searchkind= [CaseSensitivity] [in(TableSources)] SearchPredicate
Дополнительные сведения о соглашениях синтаксиса.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| T | string |
Источник табличных данных для поиска, например имя таблицы, оператор объединения или результаты табличного запроса. Невозможно указать вместе с TableSources. | |
| CaseSensitivity | string |
Флаг, который управляет поведением всех string скалярных операторов, например hasс учетом конфиденциальности регистра. Допустимые значения: default, case_insensitivecase_sensitive. Параметры default и case_insensitive синонимы, так как поведение по умолчанию не учитывает регистр. |
|
| TableSources | string |
Разделенный запятыми список имен таблиц с подстановочными знаками для участия в поиске. Список имеет тот же синтаксис, что и список оператора объединения. Невозможно указать вместе с табличным источником данных (T). | |
| SearchPredicate | string |
✔️ | Логическое выражение, вычисляющееся для каждой записи во входных данных. Если он возвращается true, запись выводится. См . синтаксис предиката поиска. |
Note
Если табличный источник данных (T) и TableSources опущены , поиск выполняется по всем неограниченным таблицам и представлениям базы данных в области.
Синтаксис предиката поиска
SearchPredicate позволяет выполнять поиск определенных терминов во всех столбцах таблицы. Оператор, применяемый к термину поиска, зависит от присутствия и размещения подстановочного знака звездочки (*) в термине, как показано в следующей таблице.
| Literal | Operator |
|---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
Вы также можете ограничить поиск определенным столбцом, искать точное совпадение вместо совпадения терминов или выполнять поиск по регулярному выражению. Синтаксис для каждого из этих случаев показан в следующей таблице.
| Syntax | Explanation |
|---|---|
ColumnName:StringLiteral |
Этот синтаксис можно использовать для ограничения поиска определенного столбца. По умолчанию выполняется поиск всех столбцов. |
ColumnName==StringLiteral |
Этот синтаксис можно использовать для поиска точных совпадений столбца со строковым значением. Поведение по умолчанию — поиск совпадения терминов. |
Столбцаmatches regexStringLiteral |
Этот синтаксис указывает на сопоставление регулярных выражений, в котором StringLiteral является шаблоном регулярных выражений. |
Используйте логические выражения для объединения условий и создания более сложных поисковых запросов. Например, "error" and x==123 это приведет к поиску записей, имеющих термин error в любых столбцах и значении 123 в столбце x .
Примеры синтаксиса предиката поиска
| # | Syntax | Значение (эквивалент where) |
Comments |
|---|---|---|---|
| 1 | search "err" |
where * has "err" |
|
| 2 | search in (T1,T2,A*) "err" |
union T1,T2,A* | where * имеет "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 |
Все сравнения строк чувствительны к регистру | |
| 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
В отличие от оператора find, search оператор не поддерживает следующий синтаксис:
-
withsource=. Выходные данные всегда содержат столбец с именем$tableтипаstringимя таблицы, из которого извлекалась каждая запись (или имя, созданное системой, если источник не таблица, а составное выражение). -
project=.project-smartОператорsearchне поддерживает эти параметры для настройки выходных столбцов. Вместо этого он автоматически выбирает соответствующий набор столбцов для выходных данных, который эквивалентен набору столбцов, полученныхproject-smartпараметром в оператореfind.
Examples
Примеры, приведенные в этой статье, используют общедоступные таблицы в кластере справки, например
StormEventsтаблицу в базе данных Samples .
В примерах этой статьи используются общедоступные таблицы, такие как
Weatherтаблица в коллекции примеров Weather Analytics. Возможно, потребуется изменить имя таблицы в примере запроса, чтобы она соответствовала таблице в рабочей области.
В следующем примере показано, как выполнить глобальный поиск терминов. Найдите термин Green во всех таблицах базы данных ContosoSales .
Выходные данные обнаруживают записи с термином "Зеленый" в качестве фамилии или цвета в CustomersProductsтаблицах и SalesTable таблицах.
search "Green"
Output
| $table | CityName | ContinentName | CustomerKey | Education | FirstName | Gender | LastName |
|---|---|---|---|---|---|---|---|
| Customers | Ballard | North America | 16549 | Частичный колледж | Mason | M | Green |
| Customers | Bellingham | North America | 2070 | Средняя школа | Adam | M | Green |
| Customers | Bellingham | North America | 10658 | Bachelors | Sara | F | Green |
| Customers | Беверли Хиллз | North America | 806 | Диплом | Richard | M | Green |
| Customers | Беверли Хиллз | North America | 7674 | Диплом | James | M | Green |
| Customers | Burbank | North America | 5241 | Диплом | Madeline | F | Green |
В следующем примере показано, как выполнить условный глобальный поиск терминов. Найдите записи, содержащие термин Green и один из терминов Делюкс или Proseware в базе данных ContosoSales .
search "Green" and ("Deluxe" or "Proseware")
Output
| $table | ProductName | Manufacturer | ColorName | ClassName | ProductCategoryName |
|---|---|---|---|---|---|
| Products | Contoso 8GB Clock & Radio MP3 Проигрыватель X850 зеленый | Contoso, Ltd | Green | Deluxe | Audio |
| Products | Proseware Scan Jet Digital Flat Bed Сканер M300 зеленый | Proseware, Inc. | Green | Regular | Computers |
| Products | Proseware All-In-One фото принтер M200 зеленый | Proseware, Inc. | Green | Regular | Computers |
| Products | Proseware Ink Jet Wireless All-In-One принтер M400 зеленый | Proseware, Inc. | Green | Regular | Computers |
| Products | Proseware Ink Jet Instant PDF Sheet-Fed сканер M300 зеленый | Proseware, Inc. | Green | Regular | Computers |
| Products | Proseware Desk Jet All-in-One Printer, сканер, копировщик M350 зеленый | Proseware, Inc. | Green | Regular | Computers |
| Products | Дуплексный сканер Proseware M200 зеленый | Proseware, Inc. | Green | Regular | Computers |
В следующем примере показано, как искать термин в определенной таблице.
Найдите термин "ЗеленыйCustomers" только в таблице.
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/Видеопроигрыватель M800 зеленый | Contoso, Ltd | Green |
| Products | Contoso 16GB Mp5 Player M1600 Green | Contoso, Ltd | Green |
| Products | Contoso 8GB Clock & Radio MP3 Проигрыватель X850 зеленый | Contoso, Ltd | Green |
| Products | Беспроводной bluetooth стереонаушники M402 зеленый | Northwind Traders | Green |
| Products | Беспроводной датчик NT и Bluetooth-наушники M150 зеленый | Northwind Traders | Green |
В следующем примере показано, как искать термин с учетом регистра. Найдите записи, соответствующие термину с учетом регистра в базе данных ContosoSales .
search kind=case_sensitive "blue"
Output
| $table | ProductName | Manufacturer | ColorName | ClassName |
|---|---|---|---|---|
| Products | Contoso 16GB New Generation MP5 Player M1650 blue | Contoso, Ltd | blue | Regular |
| Products | Синяя батарея Contoso Bright Light E20 | Contoso, Ltd | blue | Economy |
| Products | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | blue | Economy |
| NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | blue | Economy |
| NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | blue | Economy |
| NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | blue | Economy |
| NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | blue | Economy |
В следующем примере показано, как искать термин в определенных столбцах. Найдите термины Aaron и Hughes в столбцах FirstName и LastName соответственно в базе данных ContosoSales .
search FirstName:"Aaron" or LastName:"Hughes"
Output
| $table | CustomerKey | Education | FirstName | Gender | LastName |
|---|---|---|---|---|---|
| Customers | 18285 | Средняя школа | Riley | F | Hughes |
| Customers | 802 | Диплом | Aaron | M | Sharma |
| Customers | 986 | Bachelors | Melanie | F | Hughes |
| Customers | 12669 | Средняя школа | Jessica | F | Hughes |
| Customers | 13436 | Диплом | Mariah | F | Hughes |
| Customers | 10152 | Диплом | Aaron | M | Campbell |
В следующем примере показано, как искать термин с меткой времени. Найдите термин Hughes в базе данных ContosoSales , если термин отображается в записи с датой больше указанной даты в 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 |
Советы по производительности
| # | Tip | Prefer | Over |
|---|---|---|---|
| 1 | Предпочитать использовать один search оператор через несколько последовательных search операторов. |
search "billg" and ("steveb" or "satyan") |
поиск "billg" | поиск "стивб" или "сатян" |
| 2 | Предпочитать фильтровать внутри search оператора |
search "billg" and "steveb" |
search * | where * имеет "billg" и * имеет "стив" |