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 true a é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 regex StringLiteral |
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:
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).project=
,project-smart
: A kimeneti séma egyenértékű a kimeneti sémávalproject-smart
.
Példák
Globális kifejezéskeresés
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 , Products
a és SalesTable
a Customers
tá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.
Feltételes globális kifejezéskeresés
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"
Kis- és nagybetűk megkülönböztetése
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" |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: