search işleci

Birden çok tablo ve sütunda metin deseni arar.

Not

Aramak istediğiniz belirli tabloları ve sütunları biliyorsanız birleşim vekonum işleçlerini kullanmak daha yüksek performans gösterir. Çok search sayıda tablo ve sütunda arama yaparken işleç yavaş olabilir.

Syntax

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

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
T string Tablo adı, birleşim işleci veya tablo sorgusunun sonuçları gibi aranacak tablosal veri kaynağı. TableSources ile birlikte görüntülenemez.
Casesensitivity string Büyük/küçük harf duyarlılığı açısından gibi hastüm string skaler işleçlerin davranışını denetleen bir bayrak. Geçerli değerler : default, case_insensitive, case_sensitive. Varsayılan davranış büyük/küçük harfe duyarsız olduğundan ve case_insensitive seçenekleri default eş anlamlıdır.
TableSources string Aramaya katılmak için "joker karakterli" tablo adlarının virgülle ayrılmış listesi. Listede birleşim işlecinin listesiyle aynı söz dizimi vardır. TabularSource ile birlikte görüntülenemez.
SearchPredicate string ✔️ Girişteki her kayıt için değerlendirilecek boole ifadesi. döndürürse true, kayıt çıkarılır. Bkz . Arama koşulu söz dizimi.

Arama koşulu söz dizimi

SearchPredicate, tablonun tüm sütunlarında belirli terimleri aramanızı sağlar. Bir arama terimine uygulanacak işleç, aşağıdaki tabloda gösterildiği gibi terimde joker karakter yıldız işareti (*) bulunmasına ve yerleştirilmesine bağlıdır.

Değişmez değer Operatör
billg has
*billg hassuffix
billg* hasprefix
*billg* contains
bi*lg matches regex

Ayrıca aramayı belirli bir sütunla kısıtlayabilir, terim eşleşmesi yerine tam eşleşme arayabilir veya normal ifadeye göre arama yapabilirsiniz. Bu durumların her birinin söz dizimi aşağıdaki tabloda gösterilmiştir.

Syntax Açıklama
Columnname:StringLiteral Bu söz dizimi, aramayı belirli bir sütunla kısıtlamak için kullanılabilir. Varsayılan davranış, tüm sütunlarda arama yapmaktır.
Columnname==StringLiteral Bu söz dizimi, bir sütunun dize değeriyle tam eşleşmelerini aramak için kullanılabilir. Varsayılan davranış, terim eşleşmesi aramaktır.
Sütunmatches regexStringLiteral Bu söz dizimi, StringLiteral'ın regex deseni olduğu normal ifade eşleştirmesini gösterir.

Koşulları birleştirmek ve daha karmaşık aramalar oluşturmak için boole ifadelerini kullanın. Örneğin, "error" and x==123 herhangi bir sütunda terimi error ve sütundaki değeri 123 içeren kayıtların aranmasıyla x sonuçlanır.

Not

Hem TabularSource hem de TableSource'lar atlanırsa, arama kapsam içindeki veritabanının tüm kısıtlanmamış tabloları ve görünümleri üzerinde taşınır.

Arama koşulu söz dizimi örnekleri

# Syntax Anlamı (eşdeğer where) Yorumlar
1 search "err" where * has "err"
2 search in (T1,T2,A*) "err" union T1,T2,A* | where * has "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 Tüm dize karşılaştırmaları büyük/küçük harfe duyarlıdır
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)

Açıklamalar

Bul işlecinden farklı olarak search işleç aşağıdakileri desteklemez:

  1. withsource=: Çıkışta her zaman değeri her kaydın alındığı tablo adı (veya kaynak bir tablo değil bileşik ifadeyse sistem tarafından oluşturulan bir ad) olan türünde string bir sütun $table bulunur.
  2. project=, project-smart: Çıkış şeması, çıkış şemasına project-smart eşdeğerdir.

Örnekler

Kapsam içindeki veritabanının tüm kısıtlanmamış tablo ve görünümlerinde bir terim arayın.

search "Green"

Çıktı, , Productsve SalesTable tablolarından Customerskayıtları içerir. Kayıtlar Customers soyadı "Yeşil" olan tüm müşterileri, ve SalesTable kayıtları ise "Yeşil" Products adından bahseden ürünleri gösterir.

Tüm kısıtlanmamış tablolarda ve kapsamdaki veritabanının görünümlerinde her iki terimle de eşleşen kayıtları arayın.

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

Belirli bir tabloda arama

Yalnızca tabloda arama.Customers

search in (Products) "Green"

Kapsam içindeki veritabanının tüm kısıtlanmamış tablolarında ve görünümlerinde büyük/küçük harfe duyarlı terimler ile eşleşen kayıtları arayın.

search kind=case_sensitive "blue"

Belirli sütunları arama

Kapsam içindeki veritabanının kısıtlanmamış tüm tablo ve görünümlerinde "FirstName" ve "LastName" sütunlarında bir terim arayın.

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

Aramayı zaman damgasına göre sınırlama

Terim, belirtilen tarihten daha büyük bir tarihe sahip bir kayıtta görünüyorsa, kapsam içindeki tüm kısıtlanmamış tablolarda ve veritabanı görünümlerinde terim arayın.

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

Performans İpuçları

# İpucu Tercih Üzerinde
1 Birkaç ardışık search işleç yerine tek search bir işleç kullanmayı tercih edin search "billg" and ("steveb" or "satyan") search "billg" | "steveb" veya "satyan" arama
2 İşleç içinde filtrelemeyi search tercih etme search "billg" and "steveb" search * | burada * "billg" ve * "steveb" içerir