Tous les produits
Search
Centre de documentation

Tablestore:Wildcard query

Dernière mise à jour :Aug 18, 2026

Une requête avec caractères génériques (WildcardQuery) effectue une recherche floue, similaire à l'opérateur LIKE d'une base de données.

Remarque

Pour implémenter la fonctionnalité NOT LIKE, utilisez une WildcardQuery conjointement avec le paramètre mustNotQueries dans une requête booléenne. Pour plus d'informations, consultez la rubrique Requête booléenne.

Présentation

La requête avec caractères génériques utilise des caractères spéciaux pour la correspondance de motifs, ce qui améliore la précision et l'efficacité de la recherche.

Lorsque vous utilisez la fonctionnalité WildcardQuery, employez une chaîne de requête contenant des caractères génériques pour faire correspondre les données. Cette fonctionnalité prend en charge l'astérisque () et le point d'interrogation (?). L'astérisque () représente n'importe quelle séquence de caractères, tandis que le point d'interrogation (?) représente n'importe quel caractère unique. Une chaîne de requête peut commencer par un astérisque (*) ou un point d'interrogation (?). Par exemple, une recherche pour table*e peut correspondre à tablestore.

La WildcardQuery est prise en charge pour les champs des types de données Keyword et FuzzyKeyword.

  • Keyword : type de données de chaîne de base. Les performances des recherches floues, telles que les requêtes avec caractères génériques, sur les champs Keyword sont faibles pour les grands ensembles de données et se dégradent à mesure que le volume de données augmente.

  • FuzzyKeyword : type de données optimisé pour les recherches floues comme les requêtes avec caractères génériques. Il offre des performances supérieures et stables qui ne se dégradent pas significativement lorsque la taille de l'ensemble de données augmente.

Search Index propose trois types de requêtes avec caractères génériques pour répondre à divers besoins de correspondance floue. Pour plus d'informations, consultez le tableau suivant.

Remarque

Cette rubrique décrit comment effectuer une WildcardQuery sur des champs de type Keyword et FuzzyKeyword. Pour savoir comment implémenter des recherches floues sur des champs de type Text, consultez la rubrique Requête avec caractères génériques basée sur la tokenisation.

Type

Méthode de requête

Avantage

Inconvénient

Keyword

WildcardQuery

Compatible avec Elasticsearch.

Les performances de la requête se dégradent à mesure que la quantité de données indexées augmente.

FuzzyKeyword

WildcardQuery

Offre des performances supérieures et stables qui ne se dégradent pas significativement lorsque la taille des données augmente.

Provoque une certaine expansion des données.

Text

MatchPhraseQuery

Prend en charge la correspondance insensible à la casse.

Provoque une certaine expansion des données.

Remarques d'utilisation

Le terme de requête dans une WildcardQuery ne doit pas dépasser 32 caractères, que ce soit pour les champs Keyword ou FuzzyKeyword.

API

Pour effectuer une requête avec caractères génériques, appelez l'opération Search ou parallel scan et définissez le type de requête sur WildcardQuery.

Paramètres

Paramètre

Description

fieldName

Nom de la colonne à interroger.

value

Chaîne contenant des caractères génériques, dont la longueur ne doit pas dépasser 32 caractères.

query

Type de requête. Définissez ce paramètre sur WildcardQuery.

getTotalCount

Indique s'il faut renvoyer le nombre total de lignes correspondantes. La valeur par défaut est false.

Le renvoi du nombre total de lignes correspondantes peut affecter les performances de la requête.

weight

Poids de la requête, nombre à virgule flottante positif utilisé pour le tri basé sur le score dans la recherche en texte intégral. Un poids plus élevé attribue un score plus élevé à la colonne dans les résultats de la requête.

Ce paramètre affecte les scores des résultats renvoyés, mais n'affecte pas le nombre de résultats renvoyés.

tableName

Nom de la table de données.

indexName

Nom de l'index Search Index.

columnsToGet

Spécifie les colonnes à renvoyer. Inclut les paramètres returnAll et columns.

Par défaut, returnAll est défini sur false, ce qui indique que toutes les colonnes ne sont pas renvoyées. Dans ce cas, utilisez columns pour spécifier les colonnes à renvoyer. Si vous ne spécifiez aucune colonne, seules les colonnes de clé primaire sont renvoyées.

Si vous définissez returnAll sur true, toutes les colonnes sont renvoyées.

Utilisation

Effectuez une requête avec caractères génériques à l'aide de la console Tablestore, d'un outil en ligne de commande (CLI) ou d'un SDK. Avant de commencer, effectuez les préparations suivantes :

Important

Actuellement, une WildcardQuery sur un champ FuzzyKeyword est uniquement prise en charge via les SDK Tablestore.

Utiliser la console

  1. Accédez à l'onglet Index Management.

    1. Connectez-vous à la console Table Store.

    2. Dans la barre de navigation supérieure, sélectionnez un groupe de ressources et une région.

    3. Sur la page Overview, cliquez sur le nom de l'instance ou sur Instance Management dans la colonne Actions.

    4. Sous l'onglet Instance Details, dans l'onglet Data Table List, cliquez sur le nom de la table de données ou sur Index Management dans la colonne Actions.

  2. Sous l'onglet Index Management, localisez l'index Search Index cible et cliquez sur Manage Data dans la colonne Actions.

  3. Dans la boîte de dialogue Search, configurez la requête.

    1. Par défaut, toutes les colonnes sont renvoyées. Pour renvoyer des colonnes spécifiques, désactivez l'option Retrieve All Columns et saisissez les noms des colonnes, séparés par des virgules.

      Remarque

      Par défaut, Table Store renvoie les colonnes de clé primaire de la table de données.

    2. Sélectionnez un opérateur logique : And, Or ou Not.

      Si vous sélectionnez And, la requête renvoie les données qui satisfont à toutes les conditions spécifiées. Si vous sélectionnez Or, la requête renvoie les données qui satisfont à au moins une des conditions spécifiées. Si vous sélectionnez Not, la requête renvoie les données qui ne satisfont pas aux conditions spécifiées.

    3. Sélectionnez un champ d'index et cliquez sur Add.

    4. Définissez le type de requête pour le champ d'index sur WildcardQuery et saisissez une valeur contenant des caractères génériques.

    5. Par défaut, le tri est désactivé. Pour trier les résultats selon un champ spécifique, activez l'option Enable Sorting, ajoutez le champ de tri et configurez l'ordre de tri.

    6. Par défaut, l'agrégation est désactivée. Pour effectuer une agrégation statistique sur un champ spécifique, activez l'option Enable Aggregation, ajoutez le champ pour l'agrégation et configurez les paramètres d'agrégation.

  4. Cliquez sur OK.

    Les résultats de la requête s'affichent sous l'onglet Index Management.

Utiliser l'outil en ligne de commande

Exécutez la commande search dans un outil en ligne de commande (CLI) pour interroger les données à l'aide d'un Search Index. Pour plus d'informations, consultez la rubrique Search Index.

Important

L'outil CLI prend actuellement en charge la WildcardQuery uniquement pour le type Keyword, et non pour le type FuzzyKeyword.

  1. Exécutez la commande search pour interroger les données de la table à l'aide de l'index Search Index search_index, qui renvoie toutes les colonnes indexées.

    search -n search_index --return_all_indexed
  2. Saisissez les conditions de requête comme indiqué. Le code suivant fournit un exemple :

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "WildcardQuery",
            "Query": {
                "FieldName": "col_keyword",
                "Value": "hang*u"
            }
        }
    }

Utiliser un SDK

Effectuez une requête avec caractères génériques à l'aide du SDK Java, du SDK Go, du SDK Python, du SDK Node.js, du SDK .NET ou du SDK PHP. Cette section utilise le SDK Java comme exemple.

Remarque

L'instruction de requête est identique pour les types Keyword et FuzzyKeyword. La seule différence réside dans le type de données de la colonne interrogée.

Facturation

L'interrogation des données à l'aide d'un Search Index consomme du débit de lecture. Pour plus d'informations, consultez la rubrique Mesure et facturation de Search Index.

FAQ

Rubriques connexes