Partager via


opérateur search

S’applique à : ✅Microsoft Fabric

Recherche un modèle de texte dans plusieurs tables et colonnes.

Remarque

Si vous connaissez les tables et colonnes spécifiques que vous souhaitez rechercher, il est plus performant d’utiliser l’union et l’emplacement les opérateurs. L’opérateur search peut être lent lors de la recherche sur un grand nombre de tables et de colonnes.

Syntaxe

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

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
T string Source de données tabulaire à rechercher, telle qu’un nom de table, un opérateur d’union ou les résultats d’une requête tabulaire. Impossible de spécifier avec TableSources.
CaseSensitivity string Indicateur qui contrôle le comportement de tous les string opérateurs scalaires, tels que has, en ce qui concerne la sensibilité de la casse. Les valeurs valides sont default, case_insensitive, case_sensitive. Les options default et case_insensitive sont synonymes, car le comportement par défaut ne respecte pas la casse.
TableSources string Liste séparée par des virgules des noms de tables « génériques » à prendre part à la recherche. La liste a la même syntaxe que la liste de l’opérateur union. Impossible de spécifier avec la source de données tabulaire (T).
SearchPredicate string ✔️ Expression booléenne à évaluer pour chaque enregistrement de l’entrée. Si elle retourne true, l’enregistrement est généré. Consultez la syntaxe de prédicat de recherche.

Remarque

Si les deux sources de données tabulaires (T) et TableSources sont omises, la recherche est effectuée sur toutes les tables et vues illimitées de la base de données dans l’étendue.

Syntaxe de prédicat de recherche

SearchPredicate vous permet de rechercher des termes spécifiques dans toutes les colonnes d’une table. L’opérateur appliqué à un terme de recherche dépend de la présence et du placement d’un astérisque générique (*) dans le terme, comme indiqué dans le tableau suivant.

Littéral Opérateur
billg has
*billg hassuffix
billg* hasprefix
*billg* contains
bi*lg matches regex

Vous pouvez également restreindre la recherche à une colonne spécifique, rechercher une correspondance exacte au lieu d’une correspondance de terme ou rechercher par expression régulière. La syntaxe de chacun de ces cas est indiquée dans le tableau suivant.

Syntaxe Explication
ColumnName:StringLiteral Cette syntaxe peut être utilisée pour restreindre la recherche à une colonne spécifique. Le comportement par défaut consiste à rechercher toutes les colonnes.
ColumnName==StringLiteral Cette syntaxe peut être utilisée pour rechercher des correspondances exactes d’une colonne par rapport à une valeur de chaîne. Le comportement par défaut consiste à rechercher une correspondance de termes.
StringLiteral de colonnematches regex Cette syntaxe indique la correspondance d’expression régulière, dans laquelle StringLiteral est le modèle regex.

Utilisez des expressions booléennes pour combiner des conditions et créer des recherches plus complexes. Par exemple, "error" and x==123 une recherche d’enregistrements ayant le terme error dans toutes les colonnes et la valeur 123 de la x colonne sont recherchés.

Exemples de syntaxe de prédicat de recherche

# Syntaxe Signification (équivalent where) Commentaires
1 search "err" where * has "err"
2 search in (T1,T2,A*) "err" union T1,T2,A* | où * a « 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 Toutes les comparaisons de chaînes respectent la casse
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)

Notes

Contrairement à l’opérateur de recherche , l’opérateur search ne prend pas en charge la syntaxe suivante :

  1. withsource=: la sortie inclut toujours une colonne appelée $table de type string dont la valeur est le nom de table à partir duquel chaque enregistrement a été récupéré (ou un nom généré par le système si la source n’est pas une table, mais une expression composite).
  2. project=, : project-smartle schéma de sortie est équivalent au schéma de project-smart sortie.

Exemples

L’exemple de cette section montre comment utiliser la syntaxe pour vous aider à commencer.

Les exemples de cet article utilisent des tables disponibles publiquement dans le cluster d’aide, comme la table StormEvents dans la base de données Exemples.

Les exemples de cet article utilisent des tables disponibles publiquement, telles que la table StormEvents dans l’analyse météo exemples de données.

Recherchez le terme Vert dans toutes les tables de la base de données ContosoSales.

La sortie recherche des enregistrements dont le terme vert est un nom ou une couleur dans les tables Customers, Productset SalesTable.

 search "Green"

de sortie

$table CityName ContinentName CustomerKey Éducation FirstName Genre LastName
Clientèle Ballard Amérique du Nord 16549 Collège partiel Maçon M Vert
Clientèle Bellingham Amérique du Nord 2070 Lycée Adam M Vert
Clientèle Bellingham Amérique du Nord 10658 Célibataires Sara F Vert
Clientèle Beverly Hills Amérique du Nord 806 Diplôme Richard M Vert
Clientèle Beverly Hills Amérique du Nord 7674 Diplôme James M Vert
Clientèle Burbank Amérique du Nord 5241 Diplôme Madeline F Vert

Recherchez des enregistrements qui contiennent le terme Green et l’un des termes Luxe ou Proseware dans la base de données ContosoSales.

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

de sortie

$table ProductName Fabricant ColorName ClassName ProductCategoryName
Produits Horloge Contoso 8 Go & Lecteur MP3 Radio MP3 X850 Vert Contoso, Ltd Vert Deluxe Audio
Produits Proseware Scan Jet Digital Flat Bed Scanner M300 Green Proseware, Inc. Vert Régulier Ordinateurs
Produits Proseware All-In-One Photo Printer M200 Green Proseware, Inc. Vert Régulier Ordinateurs
Produits Proseware Ink Jet Wireless All-In-One Printer M400 Green Proseware, Inc. Vert Régulier Ordinateurs
Produits Proseware Ink Jet Instant PDF Sheet-Fed Scanner M300 Green Proseware, Inc. Vert Régulier Ordinateurs
Produits Proseware Desk Jet All-in-One Printer, Scanner, Copier M350 Green Proseware, Inc. Vert Régulier Ordinateurs
Produits Scanner Duplex Proseware M200 Vert Proseware, Inc. Vert Régulier Ordinateurs

Rechercher une table spécifique

Recherchez le terme vert uniquement dans la table Customers.

search in (Products) "Green"

de sortie

$table ProductName Fabricant ColorName
Produits Contoso 4G MP3 Player E400 Green Contoso, Ltd Vert
Produits Contoso 8 Go Super-Slim MP3/Lecteur vidéo M800 Vert Contoso, Ltd Vert
Produits Contoso 16 Go Mp5 Player M1600 Green Contoso, Ltd Vert
Produits Horloge Contoso 8 Go & Lecteur MP3 Radio MP3 X850 Vert Contoso, Ltd Vert
Produits NT Wireless Bluetooth Stereo Headphones M402 Green Northwind Traders Vert
Produits Émetteur sans fil NT et casque Bluetooth M150 Vert Northwind Traders Vert

Recherchez les enregistrements qui correspondent au terme sensible à la casse dans la base de données ContosoSales.

search kind=case_sensitive "blue"

de sortie

$table ProductName Fabricant ColorName ClassName
Produits Contoso 16 Go Nouveau lecteur MP5 de nouvelle génération M1650 bleu Contoso, Ltd bleu Régulier
Produits Batterie lumineux Contoso E20 bleu Contoso, Ltd bleu Économie
Produits Litware 120mm Blue LED Case Fan E901 blue Litware, Inc. bleu Économie
NewSales Litware 120mm Blue LED Case Fan E901 blue Litware, Inc. bleu Économie
NewSales Litware 120mm Blue LED Case Fan E901 blue Litware, Inc. bleu Économie
NewSales Litware 120mm Blue LED Case Fan E901 blue Litware, Inc. bleu Économie
NewSales Litware 120mm Blue LED Case Fan E901 blue Litware, Inc. bleu Économie

Rechercher des colonnes spécifiques

Recherchez les termes Aaron et Hughes, dans les colonnes « FirstName » et « LastName » respectivement, dans la base de données ContosoSales.

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

de sortie

$table CustomerKey Éducation FirstName Genre LastName
Clientèle 18285 Lycée Riley F Hughes
Clientèle 802 Diplôme Aaron M Sharma
Clientèle 986 Célibataires Melanie F Hughes
Clientèle 12669 Lycée Jessica F Hughes
Clientèle 13436 Diplôme Mariah F Hughes
Clientèle 10152 Diplôme Aaron M Campbell

Limiter la recherche par horodatage

Recherchez le terme Hughes dans la base de données ContosoSales, si le terme apparaît dans un enregistrement dont la date est supérieure à la date donnée dans « datetime ».

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

de sortie

$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

Conseils relatifs aux performances

# Conseil Préférer Over
1 Préférer utiliser un seul search opérateur sur plusieurs opérateurs consécutifs search search "billg" and ("steveb" or "satyan") search « billg » | rechercher « steveb » ou « satyan »
2 Préférer filtrer à l’intérieur de l’opérateur search search "billg" and "steveb" search * | où * a « billg » et * a « steveb »