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 has tü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 regex StringLiteral |
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:
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ündestring
bir sütun$table
bulunur.project=
,project-smart
: Çıkış şeması, çıkış şemasınaproject-smart
eşdeğerdir.
Örnekler
Genel terim araması
Kapsam içindeki veritabanının tüm kısıtlanmamış tablo ve görünümlerinde bir terim arayın.
search "Green"
Çıktı, , Products
ve SalesTable
tablolarından Customers
kayı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.
Koşullu genel terim araması
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"
Büyük/küçük harfe duyarlı arama
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 |
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin