Operador search
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Busca un patrón de texto en varias tablas y columnas.
Nota:
Si conoce las tablas y columnas específicas que desea buscar, es más eficaz usar la unión y los operadores donde . El search
operador puede ser lento al buscar en un gran número de tablas y columnas.
Sintaxis
[T|
] search
[kind=
CaseSensitivity ] [in
(
TableSources)
] SearchPredicate
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
T | string |
Origen de datos tabulares que se va a buscar, como un nombre de tabla, un operador de unión o los resultados de una consulta tabular. No se puede especificar junto con TableSources. | |
CaseSensitivity | string |
Marca que controla el comportamiento de todos los string operadores escalares, como has , con respecto a la distinción entre mayúsculas y minúsculas. Los valores válidos son default , case_insensitive , case_sensitive . Las opciones default y case_insensitive son sinónimos, ya que el comportamiento predeterminado no distingue mayúsculas de minúsculas. |
|
TableSources | string |
Lista separada por comas de nombres de tabla "comodín" para participar en la búsqueda. La lista tiene la misma sintaxis que la lista del operador union. No se puede especificar junto con el origen de datos tabular (T). | |
SearchPredicate | string |
✔️ | Expresión booleana que se va a evaluar para cada registro de la entrada. Si devuelve true , se genera el registro. Consulte Sintaxis de predicado de búsqueda. |
Nota:
Si se omiten los orígenes de datos tabulares (T) y TableSources, la búsqueda se lleva a cabo en todas las tablas y vistas sin restricciones de la base de datos en el ámbito.
Sintaxis de predicado de búsqueda
SearchPredicate permite buscar términos específicos en todas las columnas de una tabla. El operador que se aplica a un término de búsqueda depende de la presencia y colocación de un asterisco comodín (*
) en el término , como se muestra en la tabla siguiente.
Literal | Operador |
---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
También puede restringir la búsqueda a una columna específica, buscar una coincidencia exacta en lugar de una coincidencia de términos o buscar por expresión regular. La sintaxis de cada uno de estos casos se muestra en la tabla siguiente.
Sintaxis | Explicación |
---|---|
ColumnName: StringLiteral |
Esta sintaxis se puede usar para restringir la búsqueda a una columna específica. El comportamiento predeterminado es buscar en todas las columnas. |
ColumnName== StringLiteral |
Esta sintaxis se puede usar para buscar coincidencias exactas de una columna con un valor de cadena. El comportamiento predeterminado es buscar una coincidencia de términos. |
StringLiteral de columnamatches regex |
Esta sintaxis indica la coincidencia de expresiones regulares, en la que StringLiteral es el patrón regex. |
Use expresiones booleanas para combinar condiciones y crear búsquedas más complejas. Por ejemplo, "error" and x==123
daría lugar a una búsqueda de registros que tengan el término error
en cualquier columna y el valor 123
de la x
columna.
Ejemplos de sintaxis de predicado de búsqueda
# | Sintaxis | Significado (equivalente where ) |
Comentarios |
---|---|---|---|
1 | search "err" |
where * has "err" |
|
2 | search in (T1,T2,A*) "err" |
union T1,T2,A* | donde * tiene "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 |
Todas las comparaciones de cadenas distinguen mayúsculas de minúsculas | |
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) |
Comentarios
A diferencia del operador find , el operador search
no admite la sintaxis siguiente:
-
withsource=
: la salida siempre incluye una columna denominada$table
de tipostring
cuyo valor es el nombre de tabla del que se recuperó cada registro (o algún nombre generado por el sistema si el origen no es una tabla, sino una expresión compuesta). -
project=
,project-smart
: el esquema de salida es equivalente alproject-smart
esquema de salida.
Ejemplos
En el ejemplo de esta sección se muestra cómo usar la sintaxis para ayudarle a empezar.
En los ejemplos de este artículo se usan tablas disponibles públicamente en el clúster de , como la tabla
StormEvents
de la base de datos ejemplos de.
En los ejemplos de este artículo se usan tablas disponibles públicamente, como la tabla
StormEvents
del análisis meteorológico datos de ejemplo.
Búsqueda de términos globales
Busque el término Verde en todas las tablas de la base de datos de ContosoSales.
La salida busca registros con el término verde como apellido o un color en las tablas Customers
, Products
y SalesTable
.
search "Green"
de salida
$table | CityName | ContinentName | CustomerKey | Educación | FirstName | Género | LastName |
---|---|---|---|---|---|---|---|
Clientela | Ballard | América del Norte | 16549 | Universidad parcial | Albañil | M | Verde |
Clientela | Bellingham | América del Norte | 2070 | Escuela secundaria | Adán | M | Verde |
Clientela | Bellingham | América del Norte | 10658 | Solteros | Sara | F | Verde |
Clientela | Beverly Hills | América del Norte | 806 | Postgrado | Richard | M | Verde |
Clientela | Beverly Hills | América del Norte | 7674 | Postgrado | James | M | Verde |
Clientela | Burbank | América del Norte | 5241 | Postgrado | Madeline | F | Verde |
Búsqueda de términos globales condicionales
Busque registros que contengan el término Green y uno de los términos Deluxe o Proseware en la base de datos de ContosoSales.
search "Green" and ("Deluxe" or "Proseware")
de salida
$table | ProductName | Fabricante | ColorName | ClassName | ProductCategoryName |
---|---|---|---|---|---|
Productos | Reloj de Contoso de 8 GB & reproductor de RADIO MP3 X850 verde | Contoso, Ltd | Verde | Deluxe | Audio |
Productos | Proseware Scan Jet Digital Flat Bed Scanner M300 Green | Proseware, Inc. | Verde | Regular | Computadoras |
Productos | Proseware All-In-One Photo Printer M200 Green | Proseware, Inc. | Verde | Regular | Computadoras |
Productos | Proseware Ink Jet Wireless All-In-One Impresora M400 Verde | Proseware, Inc. | Verde | Regular | Computadoras |
Productos | Proseware Ink Jet Instant PDF Sheet-Fed Escáner M300 Verde | Proseware, Inc. | Verde | Regular | Computadoras |
Productos | Proseware Desk Jet All-in-One Printer, Scanner, Copier M350 Green | Proseware, Inc. | Verde | Regular | Computadoras |
Productos | Proseware Duplex Scanner M200 Green | Proseware, Inc. | Verde | Regular | Computadoras |
Búsqueda de una tabla específica
Busque el término Verde solo en la tabla Customers
.
search in (Products) "Green"
de salida
$table | ProductName | Fabricante | ColorName |
---|---|---|---|
Productos | Contoso 4G MP3 Player E400 Green | Contoso, Ltd | Verde |
Productos | Contoso 8GB Super-Slim MP3/Video Player M800 Green | Contoso, Ltd | Verde |
Productos | Contoso 16GB Mp5 Player M1600 Green | Contoso, Ltd | Verde |
Productos | Reloj de Contoso de 8 GB & reproductor de RADIO MP3 X850 verde | Contoso, Ltd | Verde |
Productos | Auriculares estéreo Bluetooth inalámbrico NT M402 Verde | Northwind Traders | Verde |
Productos | Transmisor inalámbrico NT y auriculares Bluetooth M150 Verde | Northwind Traders | Verde |
Búsqueda con distinción entre mayúsculas y minúsculas
Busque registros que coincidan con el término que distingue mayúsculas de minúsculas en la base de datos de ContosoSales.
search kind=case_sensitive "blue"
de salida
$table | ProductName | Fabricante | ColorName | ClassName |
---|---|---|---|---|
Productos | Contoso 16GB New Generation MP5 Player M1650 blue | Contoso, Ltd | azul | Regular |
Productos | Batería De luz brillante de Contoso E20 azul | Contoso, Ltd | azul | Economía |
Productos | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | azul | Economía |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | azul | Economía |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | azul | Economía |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | azul | Economía |
NewSales | Litware 120mm Blue LED Case Fan E901 blue | Litware, Inc. | azul | Economía |
Buscar columnas específicas
Busque los términos Aaron y Hughes, en las columnas "FirstName" y "LastName", respectivamente, en la base de datos de ContosoSales.
search FirstName:"Aaron" or LastName:"Hughes"
de salida
$table | CustomerKey | Educación | FirstName | Género | LastName |
---|---|---|---|---|---|
Clientela | 18285 | Escuela secundaria | Riley | F | Hughes |
Clientela | 802 | Postgrado | Aarón | M | Sharma |
Clientela | 986 | Solteros | Melanie | F | Hughes |
Clientela | 12669 | Escuela secundaria | Jessica | F | Hughes |
Clientela | 13436 | Postgrado | Mariah | F | Hughes |
Clientela | 10152 | Postgrado | Aarón | M | Campbell |
Limitar la búsqueda por marca de tiempo
Busque el término Hughes en la base de datos de ContosoSales, si el término aparece en un registro con una fecha mayor que la fecha especificada en "datetime".
search "Hughes" and DateKey > datetime('2009-01-01')
de salida
$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 |
Sugerencias para mejorar el rendimiento
# | Sugerencia | Preferir | Over |
---|---|---|---|
1 | Preferir usar un único search operador en varios operadores consecutivos search |
search "billg" and ("steveb" or "satyan") |
buscar "billg" | buscar "steveb" o "satyan" |
2 | Preferir filtrar dentro del search operador |
search "billg" and "steveb" |
search * | donde * tiene "billg" y * tiene "steveb" |