Tous les produits
Search
Centre de documentation

Tablestore:Requête par suffixe

Dernière mise à jour :Aug 19, 2026

Une requête par suffixe (SuffixQuery) permet de trouver dans un index de recherche les données se terminant par une chaîne spécifique. Par exemple, vous pouvez rechercher une livraison de colis en utilisant les quatre derniers chiffres d'un numéro de téléphone.

Fonctionnement

Pour exécuter une SuffixQuery, spécifiez la valeur du suffixe à faire correspondre.

Seul le type de données FuzzyKeyword prend en charge les requêtes par suffixe. Le type FuzzyKeyword est optimisé pour les opérations de recherche floue telles que SuffixQuery, PrefixQuery et wildcard query, et offre des performances stables quel que soit le volume de données.

Remarque
  • Les champs de type FuzzyKeyword ne prennent pas en charge le tri ni l'agrégation. Si vous devez trier ou agréger un champ FuzzyKeyword, créez une virtual column de type Keyword à cet effet.

  • Pour simuler une requête par suffixe sur un champ Keyword, inversez la chaîne lors de l'écriture des données, puis utilisez une requête par préfixe (PrefixQuery) pour rechercher les données.

API

Appelez l'opération Search ou ParallelScan en définissant le type de requête sur SuffixQuery.

Paramètres

Requête de recherche

L'objet request est un objet SearchRequest qui contient les paramètres suivants.

Nom

Type

Description

tableName (obligatoire)

String

Nom de la table de données.

indexName (obligatoire)

String

Nom de l'index de recherche.

searchQuery (obligatoire)

SearchQuery

Condition de requête et paramètres généraux de la requête.

columnsToGet (facultatif)

SearchRequest.ColumnsToGet

Colonnes à renvoyer. Si ce paramètre n'est pas configuré, seules les colonnes de clé primaire sont renvoyées.

timeoutInMillisecond (facultatif)

int

Délai d'expiration de la requête au niveau de la demande, en millisecondes. La valeur par défaut est -1, ce qui signifie qu'aucun délai d'expiration distinct n'est configuré pour la requête.

routingValues (facultatif)

List<PrimaryKey>

Valeurs de clé primaire correspondant aux champs de routage personnalisés. Laissez ce paramètre non défini si le routage personnalisé n'est pas configuré.

Paramètres de requête

L'objet request.searchQuery est un objet SearchQuery qui contient les paramètres suivants.

Nom

Type

Description

query (obligatoire)

Query

Condition de requête. Définissez ce paramètre sur un objet SuffixQuery pour une requête par suffixe.

offset (facultatif)

Integer

Position à partir de laquelle commencer la requête actuelle.

limit (facultatif)

Integer

Nombre maximal de lignes à renvoyer. Définissez ce paramètre sur 0 pour ne renvoyer aucune ligne.

collapse (facultatif)

Collapse

Configuration de réduction utilisée pour dédupliquer les résultats selon un champ spécifié. Pour plus d'informations, consultez la section Collapse (distinct).

sort (facultatif)

Sort

Ordre de tri des résultats. Les champs FuzzyKeyword ne peuvent pas être utilisés comme champs de tri. Pour plus d'informations, consultez la section Sorting and pagination.

trackTotalCount (facultatif)

int

Nombre maximal de lignes correspondantes à compter. La valeur par défaut est TRACK_TOTAL_COUNT_DISABLED, ce qui désactive le comptage. Définissez ce paramètre sur TRACK_TOTAL_COUNT pour compter toutes les lignes correspondantes. Une valeur plus faible offre de meilleures performances de requête.

filter (facultatif)

SearchFilter

Filtre post-requête appliqué aux résultats de query.

aggregationList (facultatif)

List<Aggregation>

Configurations d'agrégation. Les champs FuzzyKeyword ne peuvent pas être utilisés comme champs d'agrégation. Pour plus d'informations, consultez la section Aggregation.

groupByList (facultatif)

List<GroupBy>

Configurations de regroupement. Les champs FuzzyKeyword ne peuvent pas être utilisés comme champs de regroupement. Pour plus d'informations, consultez la section Aggregation.

token (facultatif)

byte[]

Jeton de pagination. Définissez le nextToken de la réponse précédente comme valeur de ce paramètre pour lire la page suivante. Lorsque le token est défini, le SDK efface le paramètre sort car le jeton contient déjà la condition de tri.

Condition de requête

L'objet request.searchQuery.query est un objet SuffixQuery qui contient les paramètres suivants.

Nom

Type

Description

fieldName (obligatoire)

String

Nom du champ FuzzyKeyword à interroger.

suffix (obligatoire)

String

Chaîne de requête. La valeur complète du champ doit se terminer par cette chaîne. La correspondance respecte la casse.

weight (facultatif)

float

Poids de pertinence de la condition de requête. La valeur doit être un nombre à virgule flottante positif. Une valeur plus élevée accorde plus d'influence à la condition sur le score de pertinence BM25. Ce paramètre ne modifie ni les lignes correspondantes ni le nombre de lignes renvoyées. Il affecte l'ordre des résultats uniquement lorsque ScoreSort est utilisé. La valeur par défaut est 1.0.

Colonnes renvoyées

L'objet request.columnsToGet est un objet SearchRequest.ColumnsToGet qui contient les paramètres suivants.

Nom

Type

Description

columns (facultatif)

List<String>

Colonnes d'attribut à renvoyer. Configurez ce paramètre uniquement si returnAll et returnAllFromIndex sont tous deux définis sur false. Si ce paramètre n'est pas configuré, seules les colonnes de clé primaire sont renvoyées.

returnAll (facultatif)

boolean

Indique s'il faut renvoyer toutes les colonnes d'attribut de la table de données. La valeur par défaut est false.

returnAllFromIndex (facultatif)

boolean

Indique s'il faut renvoyer toutes les colonnes d'attribut indexées. La valeur par défaut est false. Ne définissez pas returnAll et returnAllFromIndex sur true simultanément.

Utilisation

Effectuez une requête par suffixe à l'aide de la console Tablestore ou d'un SDK. Avant de commencer, assurez-vous d'avoir rempli les conditions préalables suivantes :

Utiliser la console Tablestore

  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 Indexes, localisez l'index de recherche cible et cliquez sur Manage Data dans la colonne Actions.

    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 de type FuzzyKeyword et cliquez sur Add.

    4. Définissez le type de requête pour le champ d'index sur Suffix query (SuffixQuery) et saisissez la valeur du suffixe.

    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 d'agrégation et configurez les paramètres d'agrégation.

  3. Cliquez sur OK.

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

Utiliser un SDK

L'exemple suivant utilise le SDK Tablestore pour Java.

Important
  • La fonctionnalité de requête par suffixe est prise en charge par le SDK Tablestore pour Java version 5.17.0 et ultérieures.

  • Avant d'effectuer une requête par suffixe à l'aide du SDK, initialisez un client. Pour plus d'informations, consultez la section Initialize a Tablestore client.

Facturation

L'interrogation des données à l'aide d'un index de recherche consomme du débit de lecture. Pour plus d'informations, consultez la section Search Index metering and billing.

FAQ

Rubriques connexes