Condividi tramite


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:

  1. withsource=: l'output include sempre una colonna denominata $table di tipo string 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).
  2. project=, project-smart: lo schema di output equivale allo project-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.

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, Productse 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

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

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"