Оператор search
Область применения: ✅Microsoft Fabric✅✅
Выполняет поиск текстового шаблона в нескольких таблицах и столбцах.
Примечание.
Если вы знаете определенные таблицы и столбцы, которые вы хотите искать, это более производительно, чтобы использовать объединение и где операторы. Оператор search
может быть медленным при поиске по большому количеству таблиц и столбцов.
Синтаксис
[T|
] search
[kind=
CaseSensitivity ] [in
(
TableSources)
] SearchPredicate
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
T | string |
Источник табличных данных для поиска, например имя таблицы, оператор объединения или результаты табличного запроса. Невозможно указать вместе с TableSources. | |
CaseSensitivity | string |
Флаг, который управляет поведением всех string скалярных операторов, например has с учетом конфиденциальности регистра. Допустимые значения: default , case_insensitive case_sensitive . Параметры default и case_insensitive синонимы, так как поведение по умолчанию не учитывает регистр. |
|
TableSources | string |
Разделенный запятыми список имен таблиц с подстановочными знаками для участия в поиске. Список имеет тот же синтаксис, что и список оператора объединения. Невозможно указать вместе с табличным источником данных (T). | |
SearchPredicate | string |
✔️ | Логическое выражение, вычисляющееся для каждой записи во входных данных. Если он возвращается true , запись выводится. См . синтаксис предиката поиска. |
Примечание.
Если опущены оба табличных источника данных (T) и TableSources, поиск выполняется по всем неограниченным таблицам и представлениям базы данных в области.
Синтаксис предиката поиска
SearchPredicate позволяет выполнять поиск определенных терминов во всех столбцах таблицы. Оператор, применяемый к термину поиска, зависит от присутствия и размещения подстановочного знака звездочки (*
) в термине, как показано в следующей таблице.
Литерал | Оператор |
---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
Вы также можете ограничить поиск определенным столбцом, искать точное совпадение вместо совпадения терминов или выполнять поиск по регулярному выражению. Синтаксис для каждого из этих случаев показан в следующей таблице.
Синтаксис | Описание |
---|---|
ColumnName: StringLiteral |
Этот синтаксис можно использовать для ограничения поиска определенного столбца. По умолчанию выполняется поиск всех столбцов. |
ColumnName== StringLiteral |
Этот синтаксис можно использовать для поиска точных совпадений столбца со строковым значением. Поведение по умолчанию — поиск совпадения терминов. |
Columnmatches regex StringLiteral |
Этот синтаксис указывает на сопоставление регулярных выражений, в котором StringLiteral является шаблоном регулярных выражений. |
Используйте логические выражения для объединения условий и создания более сложных поисковых запросов. Например, "error" and x==123
это приведет к поиску записей, имеющих термин error
в любых столбцах и значении 123
в столбце x
.
Примеры синтаксиса предиката поиска
# | Синтаксис | Значение (эквивалент where ) |
Комментарии |
---|---|---|---|
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) |
Замечания
В отличие от оператора поиска , оператор search
не поддерживает следующий синтаксис:
-
withsource=
. Выходные данные всегда содержат столбец с именем$table
типаstring
имя таблицы, из которого извлекалась каждая запись (или имя, созданное системой, если источник не таблица, а составное выражение). -
project=
:project-smart
выходная схема эквивалентна выходной схемеproject-smart
.
Примеры
В этом разделе показано, как использовать синтаксис для начала работы.
Примеры, приведенные в этой статье, используют общедоступные таблицы в кластера, например таблицу
StormEvents
в базе данных Samples.
В примерах этой статьи используются общедоступные таблицы, такие как таблица
StormEvents
в аналитике погоды примеры данных.
Глобальный поиск терминов
Найдите термин "Зеленый" во всех таблицах базы данных ContosoSales.
Выходные данные обнаруживают записи с термином зеленый в качестве фамилии или цвета в таблицах Customers
, Products
и SalesTable
.
search "Green"
выходных
$table | CityName | ContinentName | CustomerKey | Образование | FirstName | Род | LastName |
---|---|---|---|---|---|---|---|
Клиентов | Баллард | Северная Америка | 16549 | Частичный колледж | Каменщик | M | Зеленый |
Клиентов | Беллингем | Северная Америка | 2070 | Средняя школа | Адам | M | Зеленый |
Клиентов | Беллингем | Северная Америка | 10658 | Бакалавров | Сара | F | Зеленый |
Клиентов | Беверли Хиллз | Северная Америка | 806 | Диплом | Ричард | M | Зеленый |
Клиентов | Беверли Хиллз | Северная Америка | 7674 | Диплом | Джеймс | M | Зеленый |
Клиентов | Бербанк | Северная Америка | 5241 | Диплом | Мэделин | F | Зеленый |
Условный глобальный поиск терминов
Найдите записи, содержащие термин Зеленый и один из условий Делюкс или Proseware в базе данных contosoSales.
search "Green" and ("Deluxe" or "Proseware")
выходных
$table | ProductName | Изготовитель | ColorName | ClassName | ProductCategoryName |
---|---|---|---|---|---|
Продукция | Contoso 8GB Clock & Radio MP3 Проигрыватель X850 зеленый | Contoso, Ltd | Зеленый | Делюкс | Аудио |
Продукция | Proseware Scan Jet Digital Flat Bed Сканер M300 зеленый | Proseware, Inc. | Зеленый | Регулярный | Компьютеры |
Продукция | Proseware All-In-One фото принтер M200 зеленый | Proseware, Inc. | Зеленый | Регулярный | Компьютеры |
Продукция | Proseware Ink Jet Wireless All-In-One принтер M400 зеленый | Proseware, Inc. | Зеленый | Регулярный | Компьютеры |
Продукция | Proseware Ink Jet Instant PDF Sheet-Fed сканер M300 зеленый | Proseware, Inc. | Зеленый | Регулярный | Компьютеры |
Продукция | Proseware Desk Jet All-in-One Printer, сканер, копировщик M350 зеленый | Proseware, Inc. | Зеленый | Регулярный | Компьютеры |
Продукция | Дуплексный сканер Proseware M200 зеленый | Proseware, Inc. | Зеленый | Регулярный | Компьютеры |
Поиск определенной таблицы
Найдите термин Зеленый только в таблице Customers
.
search in (Products) "Green"
выходных
$table | ProductName | Изготовитель | ColorName |
---|---|---|---|
Продукция | Contoso 4G MP3 Player E400 Green | Contoso, Ltd | Зеленый |
Продукция | Contoso 8GB Super-Slim MP3/Видеопроигрыватель M800 зеленый | Contoso, Ltd | Зеленый |
Продукция | Contoso 16GB Mp5 Player M1600 Green | Contoso, Ltd | Зеленый |
Продукция | Contoso 8GB Clock & Radio MP3 Проигрыватель X850 зеленый | Contoso, Ltd | Зеленый |
Продукция | Беспроводной bluetooth стереонаушники M402 зеленый | Northwind Traders | Зеленый |
Продукция | Беспроводной датчик NT и Bluetooth-наушники M150 зеленый | Northwind Traders | Зеленый |
Поиск с учетом регистра
Найдите записи, соответствующие термину с учетом регистра в базе данных ContosoSales.
search kind=case_sensitive "blue"
выходных
$table | ProductName | Изготовитель | ColorName | ClassName |
---|---|---|---|---|
Продукция | Contoso 16GB New Generation MP5 Player M1650 blue | Contoso, Ltd | синий | Регулярный |
Продукция | Синяя батарея Contoso Bright Light E20 | Contoso, Ltd | синий | Экономика |
Продукция | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | синий | Экономика |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | синий | Экономика |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | синий | Экономика |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | синий | Экономика |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | синий | Экономика |
Поиск определенных столбцов
Найдите термины Aaron и Hughesв столбцах FirstName и LastName соответственно в базе данных ContosoSal es.
search FirstName:"Aaron" or LastName:"Hughes"
выходных
$table | CustomerKey | Образование | FirstName | Род | LastName |
---|---|---|---|---|---|
Клиентов | 18285 | Средняя школа | Райли | F | Хьюз |
Клиентов | 802 | Диплом | Аарон | M | Шарма |
Клиентов | 986 | Бакалавров | Мелани | F | Хьюз |
Клиентов | 12669 | Средняя школа | Джессика | F | Хьюз |
Клиентов | 13436 | Диплом | Мария | F | Хьюз |
Клиентов | 10152 | Диплом | Аарон | M | Кэмпбелл |
Ограничение поиска по метке времени
Найдите термин Hughes в базе данных ContosoSales, если термин отображается в записи с датой больше указанной даты в datetime.
search "Hughes" and DateKey > datetime('2009-01-01')
выходных
$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 |
Советы по повышению производительности
# | Совет | Предпочитать | Более |
---|---|---|---|
1 | Предпочитать использовать один search оператор через несколько последовательных search операторов. |
search "billg" and ("steveb" or "satyan") |
поиск "billg" | поиск "стивб" или "сатян" |
2 | Предпочитать фильтровать внутри search оператора |
search "billg" and "steveb" |
search * | where * имеет "billg" и * имеет "стив" |