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.
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 champsKeywordsont 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.
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 |
|
getTotalCount |
Indique s'il faut renvoyer le nombre total de lignes correspondantes. La valeur par défaut est 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, Si vous définissez |
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 :
Actuellement, une WildcardQuery sur un champ FuzzyKeyword est uniquement prise en charge via les SDK Tablestore.
-
Utilisez un compte Alibaba Cloud ou un utilisateur RAM disposant des autorisations requises pour les opérations Table Store. Pour accorder des autorisations à un utilisateur RAM, consultez la rubrique Accorder des autorisations à un utilisateur RAM à l'aide d'une politique RAM.
Si vous utilisez un SDK ou un outil en ligne de commande, créez une AccessKey pour votre compte Alibaba Cloud ou votre utilisateur RAM si vous n'en possédez pas.
Vous avez créé une table de données.
Un Search Index a été créé pour la table de données.
Si vous utilisez un SDK, initialisez le client Tablestore.
Si vous utilisez l'outil en ligne de commande, téléchargez et démarrez l'outil, puis configurez la connexion à votre instance et sélectionnez la table cible. Pour plus d'informations, consultez les rubriques Télécharger l'outil en ligne de commande, Démarrer l'outil et configurer les informations de connexion et Opérations sur les tables de données.
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
Search Index prend en charge divers types de requêtes pour les interrogations de données multidimensionnelles, notamment la requête par terme, la requête par termes, la requête match all, la requête match, la requête phrase match, la requête par plage, la requête par préfixe, la requête par suffixe, la requête avec caractères génériques, la requête avec caractères génériques basée sur la tokenisation, la requête booléenne, la requête géographique, la requête imbriquée, la recherche vectorielle, et la requête exists.
Lorsque vous interrogez des données, vous pouvez trier et paginer l'ensemble de résultats ou effectuer un pliage (déduplication).
Pour l'analyse des données, telle que la recherche de la valeur maximale ou minimale, le calcul d'une somme ou le comptage de lignes, vous pouvez utiliser les fonctionnalités d'agrégation statistique ou de requête SQL.
Pour exporter rapidement des données indépendamment de l'ordre de l'ensemble de résultats, vous pouvez utiliser la fonctionnalité Parallel Scan.