Compartilhar via


operador search

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Pesquisa um padrão de texto em várias tabelas e colunas.

Observação

Se você souber as tabelas e colunas específicas que deseja pesquisar, é mais eficiente usar os operadores union e where . O search operador pode ser lento ao pesquisar em um grande número de tabelas e colunas.

Sintaxe

[T|] search [kind= Diferenciação de maiúsculas e minúsculas ] [in (TableSources)] SearchPredicate

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
T string A fonte de dados tabular a ser pesquisada, como um nome de tabela, um operador de união ou os resultados de uma consulta tabular. Não é possível aparecer junto com TableSources.
CaseSensitivity string Um sinalizador que controla o comportamento de todos os string operadores escalares, como has, em relação à diferenciação de maiúsculas e minúsculas. Os valores válidos são default, case_insensitive, case_sensitive. As opções default e case_insensitive são sinônimos, já que o comportamento padrão não diferencia maiúsculas de minúsculas.
Fontes de tabela string Uma lista separada por vírgulas de nomes de tabelas "curingas" para participar da pesquisa. A lista tem a mesma sintaxe que a lista do operador union. Não é possível aparecer junto com TabularSource.
Predicado de pesquisa string ✔️ Uma expressão booleana a ser avaliada para cada registro na entrada. Se ele retornar true, o registro será gerado. Consulte Sintaxe de predicado de pesquisa.

Sintaxe de predicado de pesquisa

O SearchPredicate permite que você pesquise termos específicos em todas as colunas de uma tabela. O operador que será aplicado a um termo de pesquisa depende da presença e do posicionamento de um asterisco curinga (*) no termo, conforme mostrado na tabela a seguir.

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

Você também pode restringir a pesquisa a uma coluna específica, procurar uma correspondência exata em vez de uma correspondência de termo ou pesquisar por expressão regular. A sintaxe de cada um desses casos é mostrada na tabela a seguir.

Sintaxe Explicação
ColumnName:StringLiteral Essa sintaxe pode ser usada para restringir a pesquisa a uma coluna específica. O comportamento padrão é pesquisar todas as colunas.
ColumnName==StringLiteral Essa sintaxe pode ser usada para pesquisar correspondências exatas de uma coluna em relação a um valor de cadeia de caracteres. O comportamento padrão é procurar uma correspondência de termo.
Coluna matches regex StringLiteral Essa sintaxe indica a correspondência de expressão regular, na qual StringLiteral é o padrão regex.

Use expressões booleanas para combinar condições e criar pesquisas mais complexas. Por exemplo, "error" and x==123 resultaria em uma pesquisa de registros que tenham o termo error em qualquer coluna e o valor 123 na x coluna.

Observação

Se TabularSource e TableSources forem omitidos, a pesquisa será transportada por todas as tabelas e exibições irrestritas do banco de dados no escopo.

Exemplos de sintaxe de predicado de pesquisa

# Sintaxe Significado (equivalente where) Comentários
1 search "err" where * has "err"
2 search in (T1,T2,A*) "err" união T1,T2,A* | onde * tem "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 as comparações de cadeia de caracteres diferenciam maiú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)

Comentários

Ao contrário do operador find, o search operador não dá suporte ao seguinte:

  1. withsource=: A saída sempre incluirá uma coluna chamada $table do tipo string cujo valor é o nome da tabela da qual cada registro foi recuperado (ou algum nome gerado pelo sistema se a origem não for uma tabela, mas uma expressão composta).
  2. project=, project-smart: O esquema de saída é equivalente ao project-smart esquema de saída.

Exemplos

Pesquise um termo em todas as tabelas e exibições irrestritas do banco de dados no escopo.

search "Green"

A saída contém registros das Customerstabelas , Productse SalesTable . Os Customers registros mostram todos os clientes com o sobrenome "Verde", e os Products registros e SalesTable mostram produtos com alguma menção de "Verde".

Pesquise registros que correspondam a ambos os termos em todas as tabelas e exibições irrestritas do banco de dados no escopo.

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

Pesquisar uma tabela específica

Pesquise apenas na Customers tabela.

search in (Products) "Green"

Pesquise registros que correspondam a ambos os termos que diferenciam maiúsculas de minúsculas em todas as tabelas e exibições irrestritas do banco de dados no escopo.

search kind=case_sensitive "blue"

Pesquisar colunas específicas

Pesquise um termo nas colunas "Nome" e "Sobrenome" em todas as tabelas e exibições irrestritas do banco de dados no escopo.

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

Limitar a pesquisa por carimbo de data/hora

Pesquise um termo em todas as tabelas e exibições irrestritas do banco de dados no escopo se o termo aparecer em um registro com uma data maior que a data especificada.

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

Dicas de desempenho

# Dica Preferência Acima
1 Prefira usar um único search operador em vez de vários operadores consecutivos search search "billg" and ("steveb" or "satyan") Pesquisar "Billg" | Pesquise "Steven" ou "Satian"
2 Prefira filtrar dentro do search operador search "billg" and "steveb" pesquisar * | onde * tem "billg" e * tem "steveb"