operator search
Hiermee zoekt u een tekstpatroon in meerdere tabellen en kolommen.
Notitie
Als u weet welke specifieke tabellen en kolommen u wilt doorzoeken, is het beter om de samenvoegings - en waar-operators te gebruiken. De search
operator kan traag zijn bij het zoeken in een groot aantal tabellen en kolommen.
Syntax
[T|
] search
[kind=
CaseSensitivity ] [in
(
TableSources)
] SearchPredicate
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
T | string |
De gegevensbron in tabelvorm die moet worden doorzocht, zoals een tabelnaam, een samenvoegingsoperator of de resultaten van een tabellaire query. Kan niet samen met TableSources worden weergegeven. | |
Hoofdlettergevoeligheid | string |
Een vlag die het gedrag bepaalt van alle string scalaire operators, zoals has , met betrekking tot hoofdlettergevoeligheid. Geldige waarden zijn default , case_insensitive , case_sensitive . De opties default en case_insensitive zijn synoniem, omdat het standaardgedrag niet hoofdlettergevoelig is. |
|
TableSources | string |
Een door komma's gescheiden lijst met tabelnamen met jokertekens om deel te nemen aan de zoekopdracht. De lijst heeft dezelfde syntaxis als de lijst van de samenvoegoperator. Kan niet samen met TabularSource worden weergegeven. | |
SearchPredicate | string |
✔️ | Een Booleaanse expressie die moet worden geëvalueerd voor elke record in de invoer. Als deze retourneert true , wordt de record uitgevoerd. Zie De syntaxis van het zoekpredicaat. |
Syntaxis van zoekpredicaat
Met SearchPredicate kunt u zoeken naar specifieke termen in alle kolommen van een tabel. De operator die op een zoekterm wordt toegepast, is afhankelijk van de aanwezigheid en plaatsing van een jokerteken sterretje (*
) in de term, zoals wordt weergegeven in de volgende tabel.
Letterlijk | Operator |
---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
U kunt de zoekopdracht ook beperken tot een specifieke kolom, zoeken naar een exacte overeenkomst in plaats van een termovereenkomst of zoeken op reguliere expressie. De syntaxis voor elk van deze gevallen wordt weergegeven in de volgende tabel.
Syntax | Uitleg |
---|---|
Kolomnaam: TekenreeksLiteral |
Deze syntaxis kan worden gebruikt om de zoekopdracht te beperken tot een specifieke kolom. Het standaardgedrag is om in alle kolommen te zoeken. |
Kolomnaam== TekenreeksLiteral |
Deze syntaxis kan worden gebruikt om te zoeken naar exacte overeenkomsten van een kolom ten opzichte van een tekenreekswaarde. Het standaardgedrag is om te zoeken naar een termovereenkomst. |
Kolommatches regex TekenreeksLiteral |
Deze syntaxis geeft aan dat reguliere expressies overeenkomen, waarbij StringLiteral het regex-patroon is. |
Gebruik Booleaanse expressies om voorwaarden te combineren en complexere zoekopdrachten te maken. Zou bijvoorbeeld "error" and x==123
resulteren in een zoekopdracht naar records met de term error
in kolommen en de waarde 123
in de x
kolom.
Notitie
Als zowel TabularSource als TableSources worden weggelaten, wordt de zoekopdracht overgedragen naar alle onbeperkte tabellen en weergaven van de database binnen het bereik.
Voorbeelden van syntaxis van zoekpredicaat
# | Syntax | Betekenis (equivalent where ) |
Opmerkingen |
---|---|---|---|
1 | search "err" |
where * has "err" |
|
2 | search in (T1,T2,A*) "err" |
union T1,T2,A* | where * heeft 'fout' |
|
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 |
Alle tekenreeksvergelijkingen zijn hoofdlettergevoelig | |
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) |
Opmerkingen
In tegenstelling tot de zoekoperator biedt de search
operator geen ondersteuning voor het volgende:
withsource=
: de uitvoer bevat altijd een kolom met de naam$table
van het typestring
waarvan de waarde de tabelnaam is waaruit elke record is opgehaald (of een door het systeem gegenereerde naam als de bron geen tabel maar een samengestelde expressie is).project=
,project-smart
: het uitvoerschema is gelijk aan hetproject-smart
uitvoerschema.
Voorbeelden
Algemene termen zoeken
Zoek een term in alle onbeperkte tabellen en weergaven van de database binnen het bereik.
search "Green"
De uitvoer bevat records van de Customers
tabellen , Products
en SalesTable
. De Customers
records tonen alle klanten met de achternaam 'Groen', en de Products
records en SalesTable
bevatten producten met een vermelding van 'Groen'.
Zoeken naar voorwaardelijke globale termen
Zoek naar records die overeenkomen met beide termen voor alle onbeperkte tabellen en weergaven van de database binnen het bereik.
search "Green" and ("Deluxe" or "Proseware")
Zoeken in een specifieke tabel
Zoek alleen in de Customers
tabel.
search in (Products) "Green"
Hoofdlettergevoelig zoeken
Zoek naar records die overeenkomen met hoofdlettergevoelige termen in alle onbeperkte tabellen en weergaven van de database binnen het bereik.
search kind=case_sensitive "blue"
Zoeken in specifieke kolommen
Zoek een term in de kolommen 'Voornaam' en 'Achternaam' in alle onbeperkte tabellen en weergaven van de database binnen het bereik.
search FirstName:"Aaron" or LastName:"Hughes"
Zoeken beperken op tijdstempel
Zoek een term in alle onbeperkte tabellen en weergaven van de database binnen het bereik als de term voorkomt in een record met een datum die groter is dan de opgegeven datum.
search "Hughes" and DateKey > datetime('2009-01-01')
Tips voor prestaties
# | Tip | Liever | Over |
---|---|---|---|
1 | Gebruik liever één search operator dan meerdere opeenvolgende search operators |
search "billg" and ("steveb" or "satyan") |
zoek "billg" | zoek "steveb" of "satyan" |
2 | Filter liever in de search operator |
search "billg" and "steveb" |
zoeken * | waarbij * "billg" heeft en * heeft "steveb" |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor