Share via


search operátor

Több táblázatban és oszlopban keres egy szövegmintát.

Megjegyzés

Ha ismeri a keresendő táblákat és oszlopokat, akkor hatékonyabb az egyesítő és a operátorok használata. Az search operátor lassú lehet, ha nagy számú táblában és oszlopban keres.

Syntax

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

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
T string A keresendő táblázatos adatforrás, például egy tábla neve, egy egyesítő operátor vagy egy táblázatos lekérdezés eredménye. A TableSource-okkal együtt nem jeleníthető meg.
CaseSensitivity string A kis- és nagybetűk érzékenysége szempontjából az összes string skaláris operátor(például has) viselkedését szabályozó jelző. Az érvényes értékek: default, case_insensitive, case_sensitive. A és a lehetőségek default szinonimák, mivel az alapértelmezett viselkedés nem különbözteti meg a kis- és case_insensitive nagybetűket.
TableSources string A keresésben részt venni kívánt "helyettesítő" táblanevek vesszővel tagolt listája. A lista szintaxisa megegyezik az egyesítő operátorok listájával. A TabularSource nem jeleníthető meg együtt.
SearchPredicate string ✔️ Egy logikai kifejezés, amely a bemenet minden rekordjára ki lesz értékelve. Ha visszaadja truea értéket, a rekord kimenete. Lásd: Keresési predikátum szintaxisa.

Keresési predikátum szintaxisa

A SearchPredicate lehetővé teszi, hogy adott kifejezéseket keressen egy tábla összes oszlopában. A keresési kifejezésre alkalmazott operátor a helyettesítő csillag (*) jelenlététől és elhelyezésétől függ a kifejezésben, ahogy az az alábbi táblázatban látható.

Literál Operátor
billg has
*billg hassuffix
billg* hasprefix
*billg* contains
bi*lg matches regex

A keresést egy adott oszlopra is korlátozhatja, a kifejezésegyezés helyett pontos egyezést kereshet, vagy reguláris kifejezés alapján kereshet. Az alábbi táblázatban az egyes esetek szintaxisa látható.

Syntax Magyarázat
ColumnName:StringLiteral Ez a szintaxis egy adott oszlopra korlátozhatja a keresést. Az alapértelmezett viselkedés az összes oszlopban való keresés.
ColumnName==StringLiteral Ez a szintaxis egy oszlop sztringértékekre vonatkozó pontos egyezéseinek keresésére használható. Az alapértelmezett viselkedés a kifejezésegyezés keresése.
Oszlopmatches regexStringLiteral Ez a szintaxis reguláris kifejezésegyezést jelez, amelyben a StringLiteral a regex minta.

Logikai kifejezések használatával kombinálhatja a feltételeket, és összetettebb kereséseket hozhat létre. Például olyan rekordok keresését eredményezné, "error" and x==123 amelyek bármely oszlopban kifejezéssel és az oszlopban lévő x értékkel 123 rendelkeznekerror.

Megjegyzés

Ha a TabularSource és a TableSource is hiányzik, a keresés a hatókörben lévő adatbázis összes korlátlan táblájára és nézetére kiterjed.

Példák keresési predikátumszintaxisra

# Syntax Jelentés (egyenértékű where) Megjegyzések
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 Minden sztring-összehasonlítás megkülönbözteti a kis- és nagybetűket
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)

Megjegyzések

A find operátortól eltérően az search operátor nem támogatja a következőket:

  1. withsource=: A kimenet mindig tartalmaz egy típusú string oszlopot$table, amelynek értéke az a táblanév, amelyből az egyes rekordokat lekérte (vagy valamilyen rendszer által generált nevet, ha a forrás nem tábla, hanem összetett kifejezés).
  2. project=, project-smart: A kimeneti séma egyenértékű a kimeneti sémával project-smart .

Példák

Keressen rá egy kifejezésre a hatókörben lévő adatbázis összes nem korlátozott táblájában és nézetében.

search "Green"

A kimenet a , Productsa és SalesTable a Customerstábla rekordjait tartalmazza. A Customers rekordok a "Zöld" vezetéknévvel rendelkező összes ügyfelet, a és SalesTable a rekordokat pedig a Products "Zöld" kifejezéssel ellátott termékeket jelenítik meg.

Keressen olyan rekordokat, amelyek megfelelnek a hatókörben lévő adatbázis összes korlátlan táblájának és nézetének mindkét kifejezésének.

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

Keresés egy adott táblában

Csak a Customers táblázatban keressen.

search in (Products) "Green"

Keressen olyan rekordokat, amelyek megfelelnek a kis- és nagybetűkre vonatkozó kifejezéseknek a hatókörben lévő adatbázis összes korlátlan táblájában és nézetében.

search kind=case_sensitive "blue"

Adott oszlopok keresése

Keressen rá egy kifejezésre a "FirstName" és a "LastName" oszlopban a hatókörben lévő adatbázis korlátlan tábláiban és nézeteiben.

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

Keresés korlátozása időbélyeg szerint

Keressen rá egy kifejezésre a hatókörben lévő adatbázis összes korlátlan táblájában és nézetében, ha a kifejezés egy olyan rekordban jelenik meg, amelynek dátuma nagyobb, mint a megadott dátum.

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

Teljesítménnyel kapcsolatos tippek

# Tipp Inkább Át
1 Inkább egyetlen search operátort használjon több egymást követő search operátornál search "billg" and ("steveb" or "satyan") search "billg" | keresés "steveb" vagy "satyan"
2 Szívesebben szűr az operátoron search belül search "billg" and "steveb" keresés * | ahol * a "billg" és * a "steveb"