operatore search
Si applica a: ✅Microsoft Fabric✅
Cerca un criterio di testo in più tabelle e colonne.
Nota
Se si conoscono le tabelle e le colonne specifiche da cercare, è più efficiente usare l'unione e gli operatori dove. L'operatore search
può essere lento durante la ricerca in un numero elevato di tabelle e colonne.
Sintassi
[T|
] search
[kind=
CaseSensitivity ] [in
(
TableSources)
] SearchPredicate
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
T | string |
Origine dati tabulare su cui eseguire la ricerca, ad esempio un nome di tabella, un operatore di unione o i risultati di una query tabulare. Non è possibile specificare insieme a TableSources. | |
CaseSensitivity | string |
Flag che controlla il comportamento di tutti gli string operatori scalari, ad esempio has , in relazione alla distinzione tra maiuscole e minuscole. I valori validi sono default , case_insensitive , case_sensitive . Le opzioni default e case_insensitive sono sinonimi, poiché il comportamento predefinito non fa distinzione tra maiuscole e minuscole. |
|
TableSources | string |
Elenco delimitato da virgole di nomi di tabella "con caratteri jolly" da partecipare alla ricerca. L'elenco ha la stessa sintassi dell'elenco dell'operatore union. Non è possibile specificare insieme all'origine dati tabulare (T). | |
RicercaPredicate | string |
✔️ | Espressione booleana da valutare per ogni record nell'input. Se restituisce true , il record viene restituito. Vedere sintassi del predicato di ricerca. |
Nota
Se entrambe le origini dati tabulari (T) e tableSources vengono omesse, la ricerca viene eseguita su tutte le tabelle e le viste senza restrizioni del database nell'ambito.
Sintassi del predicato di ricerca
SearchPredicate consente di cercare termini specifici in tutte le colonne di una tabella. L'operatore applicato a un termine di ricerca dipende dalla presenza e dalla posizione di un asterisco jolly (*
) nel termine , come illustrato nella tabella seguente.
Literal | Operatore |
---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
È anche possibile limitare la ricerca a una colonna specifica, cercare una corrispondenza esatta anziché una corrispondenza di termine o cercare in base a un'espressione regolare. La sintassi per ognuno di questi casi è illustrata nella tabella seguente.
Sintassi | Spiegazione |
---|---|
ColumnName: StringLiteral |
Questa sintassi può essere usata per limitare la ricerca a una colonna specifica. Il comportamento predefinito consiste nel cercare tutte le colonne. |
ColumnName== StringLiteral |
Questa sintassi può essere usata per cercare corrispondenze esatte di una colonna rispetto a un valore stringa. Il comportamento predefinito consiste nell'cercare una corrispondenza termini. |
StringLiteral colonnamatches regex |
Questa sintassi indica la corrispondenza di espressioni regolari, in cui StringLiteral è il modello regex. |
Usare espressioni booleane per combinare condizioni e creare ricerche più complesse. Ad esempio, "error" and x==123
verrà eseguita una ricerca di record con il termine error
in qualsiasi colonna e il valore 123
nella x
colonna.
Esempi di sintassi del predicato di ricerca
# | Sintassi | Significato (equivalente where ) |
Commenti |
---|---|---|---|
1 | search "err" |
where * has "err" |
|
2 | search in (T1,T2,A*) "err" |
union T1,T2,A* | dove * ha "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 |
Tutti i confronti tra stringhe fanno distinzione tra maiuscole e minuscole | |
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) |
Osservazioni:
A differenza dell'operatore find , l'operatore search
non supporta la sintassi seguente:
-
withsource=
: l'output include sempre una colonna denominata$table
di tipostring
il cui valore è il nome della tabella da cui è stato recuperato ogni record (o un nome generato dal sistema se l'origine non è una tabella ma un'espressione composita). -
project=
,project-smart
: lo schema di output equivale alloproject-smart
schema di output.
Esempi
L'esempio in questa sezione illustra come usare la sintassi per iniziare.
Gli esempi in questo articolo usano tabelle disponibili pubblicamente nel cluster della Guida , ad esempio la tabella
StormEvents
nel database degli esempi.
Gli esempi in questo articolo usano tabelle disponibili pubblicamente, ad esempio la tabella
StormEvents
in Analisi meteo dati di esempio.
Ricerca termini globale
Cercare il termine Verde in tutte le tabelle del database ContosoSales.
L'output trova i record con il termine Verde come cognome o colore nelle tabelle Customers
, Products
e SalesTable
.
search "Green"
output
$table | CityName | ContinentName | CustomerKey | Educazione | FirstName | Genere | LastName |
---|---|---|---|---|---|---|---|
Clientela | Ballard | Nord America | 16549 | College parziale | Muratore | M | Verde |
Clientela | Bellingham | Nord America | 2070 | Liceo | Adamo | M | Verde |
Clientela | Bellingham | Nord America | 10658 | Scapoli | Sara | F | Verde |
Clientela | Beverly Hills | Nord America | 806 | Laurea | Richard | M | Verde |
Clientela | Beverly Hills | Nord America | 7674 | Laurea | James | M | Verde |
Clientela | Burbank | Nord America | 5241 | Laurea | Madeline | F | Verde |
Ricerca di termini globali condizionali
Cercare i record che contengono il termine Green e uno dei termini Deluxe o Proseware nel database ContosoSales.
search "Green" and ("Deluxe" or "Proseware")
output
$table | ProductName | Fabbricante | ColorName | ClassName | ProductCategoryName |
---|---|---|---|---|---|
Prodotti | Orologio contoso da 8 GB & lettore RADIO MP3 X850 verde | Contoso, Ltd | Verde | Deluxe | Audio |
Prodotti | Proseware Scan Jet Digital Flat Bed Scanner M300 Verde | Proseware, Inc. | Verde | Regolare | Elaboratori |
Prodotti | Proseware All-In-One Stampante foto M200 Verde | Proseware, Inc. | Verde | Regolare | Elaboratori |
Prodotti | Proseware Ink Jet Wireless All-In-One Stampante M400 Verde | Proseware, Inc. | Verde | Regolare | Elaboratori |
Prodotti | Proseware Ink Jet Instant PDF Sheet-Fed Scanner M300 Verde | Proseware, Inc. | Verde | Regolare | Elaboratori |
Prodotti | Proseware Desk Jet All-in-One Printer, Scanner, Copier M350 Green | Proseware, Inc. | Verde | Regolare | Elaboratori |
Prodotti | Proseware Duplex Scanner M200 Verde | Proseware, Inc. | Verde | Regolare | Elaboratori |
Cercare una tabella specifica
Cercare il termine verde solo nella tabella Customers
.
search in (Products) "Green"
output
$table | ProductName | Fabbricante | ColorName |
---|---|---|---|
Prodotti | Contoso 4G MP3 Player E400 Green | Contoso, Ltd | Verde |
Prodotti | Contoso 8GB Super-Slim MP3/Video Player M800 Green | Contoso, Ltd | Verde |
Prodotti | Contoso 16GB Mp5 Player M1600 Green | Contoso, Ltd | Verde |
Prodotti | Orologio contoso da 8 GB & lettore RADIO MP3 X850 verde | Contoso, Ltd | Verde |
Prodotti | NT Wireless Bluetooth Stereo Cuffie M402 Verde | Northwind Traders | Verde |
Prodotti | Nt Wireless Trasmettitore e Cuffie Bluetooth M150 Verde | Northwind Traders | Verde |
Ricerca con distinzione tra maiuscole e minuscole
Cercare record corrispondenti al termine con distinzione tra maiuscole e minuscole nel database ContosoSales.
search kind=case_sensitive "blue"
output
$table | ProductName | Fabbricante | ColorName | ClassName |
---|---|---|---|---|
Prodotti | Contoso 16GB New Generation MP5 Player M1650 blu | Contoso, Ltd | blu | Regolare |
Prodotti | Contoso Bright Light battery E20 blue | Contoso, Ltd | blu | Economia |
Prodotti | Litware 120mm Blu Led Case Fan E901 blu | Litware, Inc. | blu | Economia |
NewSales | Litware 120mm Blu Led Case Fan E901 blu | Litware, Inc. | blu | Economia |
NewSales | Litware 120mm Blu Led Case Fan E901 blu | Litware, Inc. | blu | Economia |
NewSales | Litware 120mm Blu Led Case Fan E901 blu | Litware, Inc. | blu | Economia |
NewSales | Litware 120mm Blu Led Case Fan E901 blu | Litware, Inc. | blu | Economia |
Cercare colonne specifiche
Cercare i termini Aaron e Hughesrispettivamente nelle colonne "FirstName" e "LastName" nel database ContosoSales.
search FirstName:"Aaron" or LastName:"Hughes"
output
$table | CustomerKey | Educazione | FirstName | Genere | LastName |
---|---|---|---|---|---|
Clientela | 18285 | Liceo | Riley | F | Hughes |
Clientela | 802 | Laurea | Aaronne | M | Sharma |
Clientela | 986 | Scapoli | Melanie | F | Hughes |
Clientela | 12669 | Liceo | Jessica | F | Hughes |
Clientela | 13436 | Laurea | Mariah | F | Hughes |
Clientela | 10152 | Laurea | Aaronne | M | Campbell |
Limitare la ricerca in base al timestamp
Cercare il termine Hughes nel database ContosoSales, se il termine viene visualizzato in un record con una data maggiore della data specificata in 'datetime'.
search "Hughes" and DateKey > datetime('2009-01-01')
output
$table | DateKey | SalesAmount_real |
---|---|---|
SalesTable | 2021-12-13T00:00:00Z | 446.4715 |
SalesTable | 2021-12-13T00:00:00Z | 120.555 |
SalesTable | 2021-12-13T00:00:00Z | 48.4405 |
SalesTable | 2021-12-13T00:00:00Z | 39.6435 |
SalesTable | 2021-12-13T00:00:00Z | 56.9905 |
Suggerimenti per incrementare le prestazioni
# | Suggerimento | Preferire | Over (Selezione) |
---|---|---|---|
1 | Preferire l'uso di un singolo search operatore su diversi operatori consecutivi search |
search "billg" and ("steveb" or "satyan") |
cercare "billg" | cercare "steveb" o "satyan" |
2 | Preferisce filtrare all'interno dell'operatore search |
search "billg" and "steveb" |
search * | dove * ha "billg" e * ha "steveb" |