Tous les produits
Search
Centre de documentation

Tablestore:String types

Dernière mise à jour :Aug 19, 2026

Les index de recherche prennent en charge trois types de données liés aux chaînes : Keyword, FuzzyKeyword et Text. Sélectionnez le type approprié en fonction de vos besoins en matière de requête.

Contexte

Dans les tables de données Tablestore, le type de chaîne principal est String, équivalent au type string en C++ et Java. Les index de recherche subdivisent ce type unique en trois variantes spécialisées pour prendre en charge différents modèles de requête :

Type

Idéal pour

Keyword

Correspondance exacte, requêtes de plage, tri et agrégation

FuzzyKeyword

Requêtes avec caractères génériques, préfixes et suffixes haute performance, quelle que soit la taille du jeu de données

Text

Recherche en texte intégral avec tokenisation et score de pertinence

Mappages de types de données

Le type String dans les tables de données se mappe directement sur Keyword, FuzzyKeyword ou Text dans les index de recherche. Grâce à la fonctionnalité de colonne virtuelle, vous pouvez également mapper les types Integer ou Double sur l'un de ces trois types de chaîne.

Type de données dans les tables

Méthode

Type de données dans les index de recherche

String

Utilisation directe

Keyword

FuzzyKeyword

Text

Integer

Colonne virtuelle

Keyword

FuzzyKeyword

Text

Double

Colonne virtuelle

Keyword

FuzzyKeyword

Text

Types de données

Keyword

Le type Keyword traite une chaîne comme une valeur unique et indivisible, à l'instar des champs string dans les bases de données relationnelles. Il prend en charge les requêtes term, terms, range, wildcard, prefix et exists (requête de valeur nulle), ainsi que le tri et l'agrégation statistique (y compris GroupBy).

Les candidats idéaux pour le type Keyword incluent les ID utilisateur, les codes d'état, les adresses e-mail, les codes pays et tout champ pour lequel vous interrogez des valeurs exactes ou exécutez des agrégations.

Sur les jeux de données contenant plus d'un million d'entrées, les performances des requêtes wildcard et prefix se dégradent à mesure que le volume de données augmente. Utilisez le type FuzzyKeyword si une correspondance floue haute performance à grande échelle est requise.

Text

Le type Text est conçu pour la recherche en texte intégral. Avant l'indexation, le système divise une chaîne en jetons à l'aide de la méthode de tokenisation que vous configurez, puis indexe chaque jeton individuellement. Au moment de la requête, la chaîne de requête subit la même tokenisation avant d'être comparée à l'index.

Étant donné que le type Text indexe des jetons plutôt que la valeur d'origine, il prend en charge le score de pertinence, la mise en surbrillance et le résumé des résultats, ainsi que les requêtes match et match phrase. En revanche, il ne prend pas en charge les requêtes term exactes, le tri ni l'agrégation.

Les candidats idéaux pour le type Text incluent les descriptions de produits, le contenu des articles, les avis des utilisateurs et tout champ dans lequel vous recherchez des mots ou des phrases au sein d'une chaîne plus longue.

Pour connaître les méthodes de tokenisation disponibles, consultez Tokenisation.

FuzzyKeyword

Le type FuzzyKeyword est optimisé pour les requêtes wildcard, prefix et suffix. Il préstocke les sous-chaînes de chaque valeur de champ dans l'index, de sorte que les requêtes analysent une structure d'index compacte plutôt que de parcourir les valeurs ligne par ligne. Les performances des requêtes wildcard et prefix restent constamment rapides, quelle que soit la taille du jeu de données.

Les candidats idéaux pour le type FuzzyKeyword incluent les messages de journal, les chemins d'accès aux fichiers, les SKU de produits et tout champ dans lequel les utilisateurs saisissent des chaînes partielles pour effectuer une recherche.

Pour les requêtes suffix, utilisez SuffixQuery avec le type FuzzyKeyword. Une autre solution consiste à inverser les données et à exécuter PrefixQuery sur un champ Keyword, mais cette approche offre des performances inférieures.

Remarque
  • Les champs FuzzyKeyword ne prennent pas en charge le tri ni l'agrégation statistique. Pour trier ou agréger un champ FuzzyKeyword, utilisez la fonctionnalité de colonne virtuelle pour le mapper sur un type Keyword.

  • Si un champ nécessite plusieurs fonctionnalités de requête, telles que la requête term, la requête floue haute performance et la recherche en texte intégral, utilisez la fonctionnalité de colonne virtuelle pour mapper une colonne de table sur trois colonnes d'index de recherche des types Keyword, Text et FuzzyKeyword respectivement. Pour plus d'informations, consultez Colonnes virtuelles.

Comparaison des types

Les trois types de chaînes diffèrent par les fonctionnalités de requête prises en charge et les longueurs maximales de champ.

Remarque

Une coche (✓) indique que la fonctionnalité est prise en charge. Une croix (×) indique que la fonctionnalité n'est pas prise en charge.

Fonctionnalité

Keyword

FuzzyKeyword

Text

Requête term

✓

×

×

Requête terms

✓

×

×

Requête range

✓

×

×

Requête exists (requête de valeur nulle)

✓

✓

✓

Tri

✓

×

×

Agrégation statistique

✓

×

×

Recherche en texte intégral : Tokenisation

×

×

✓

Recherche en texte intégral : Score de pertinence

×

×

✓

Recherche en texte intégral : Mise en surbrillance et résumé

×

×

✓

Recherche en texte intégral : Requête match

×

×

✓

Recherche en texte intégral : Requête match phrase

×

×

✓

Requête wildcard

✓ (Performances inférieures sur les grands jeux de données)

✓ (Hautes performances)

×

Requête prefix

✓ (Performances inférieures sur les grands jeux de données)

✓ (Hautes performances)

×

Requête suffix

×

✓

×

Longueur maximale

4 Ko

2 Ko

2 Mo