Tous les produits
Search
Centre de documentation

Tablestore:Requête de plage

Dernière mise à jour :Aug 18, 2026

Exécutez une requête de plage pour interroger des données situées dans une plage spécifiée. Si le champ à interroger est de type TEXT, ses valeurs sont tokenisées. Une ligne satisfait les conditions de la requête lorsqu'au moins un de ses jetons correspond à la plage définie.

Opération API

Pour effectuer une requête de plage, appelez l'opération Search ou ParallelScan et définissez le type de requête sur RangeQuery.

Paramètres

Paramètre

Description

fieldName

Nom du champ à faire correspondre.

from

Valeur de début de la plage de recherche.

Lorsque vous spécifiez des conditions de plage, utilisez greaterThan pour indiquer le signe supérieur strict (>) et greaterThanOrEqual pour indiquer le signe supérieur ou égal (≥).

to

Valeur de fin de la plage de recherche.

Lorsque vous spécifiez des conditions de plage, utilisez lessThan pour indiquer le signe inférieur strict (<) et lessThanOrEqual pour indiquer le signe inférieur ou égal (≤).

includeLower

Indique si la valeur du paramètre from doit être incluse dans la réponse. Type : BOOLEAN.

includeUpper

Indique si la valeur du paramètre to doit être incluse dans la réponse. Type : BOOLEAN.

query

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

sort

Méthode de tri. Pour plus d'informations, consultez la section Tri et pagination.

getTotalCount

Indique si le nombre total de lignes correspondant aux conditions de la requête doit être renvoyé. La valeur par défaut est false, ce qui signifie que le nombre total n'est pas renvoyé.

Si vous définissez ce paramètre sur true, les performances de la requête peuvent être dégradées.

tableName

Nom de la table de données.

indexName

Nom de l'index de recherche.

columnsToGet

Indique si toutes les colonnes des lignes correspondant aux conditions de la requête doivent être renvoyées. Vous pouvez configurer les champs returnAll et columns pour ce paramètre.

La valeur par défaut du champ returnAll est false, ce qui signifie que toutes les colonnes ne sont pas renvoyées. Dans ce cas, utilisez le champ 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 le champ returnAll sur true, toutes les colonnes sont renvoyées.

Méthodes

Utilisez la console Tablestore, l'interface CLI Tablestore ou les SDK Tablestore pour exécuter une requête de plage. Avant de commencer, assurez-vous d'avoir effectué les préparatifs suivants :

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

  3. Dans la boîte de dialogue Search, spécifiez les conditions de 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 l'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 et cliquez sur Add.

    4. Définissez le paramètre Query Type sur RangeQuery(RangeQuery) et spécifiez la plage de recherche souhaitée.

      La plage est un intervalle fermé à gauche et ouvert à droite. Spécifiez la plage en fonction de vos besoins métier.

    5. Le tri est désactivé par défaut. 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. L'agrégation est désactivée par défaut. 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.

  4. Cliquez sur OK.

  5. Les données correspondant aux conditions de la requête s'affichent dans l'ordre spécifié sous l'onglet Indexes.

Utiliser l'interface CLI Tablestore

Exécutez la commande search dans l'interface CLI Tablestore pour interroger des données à l'aide d'index de recherche. Pour plus d'informations, consultez la section Index de recherche.

  1. Exécutez la commande search pour utiliser l'index de recherche search_index afin d'interroger les données et de renvoyer toutes les colonnes indexées de chaque ligne correspondant aux conditions de la requête.

    search -n search_index --return_all_indexed
  2. Saisissez les conditions de la requête comme indiqué par le système :

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "RangeQuery",
            "Query": {
                "FieldName": "col_long",
                "From": 1,
                "To": 100,
                "IncludeLower": true,
                "IncludeUpper": false
            }
        }
    }

Utiliser les SDK Tablestore

Exécutez une requête de plage à l'aide des SDK Tablestore suivants : SDK Tablestore pour Java, SDK Tablestore pour Go, SDK Tablestore pour Python, SDK Tablestore pour Node.js, SDK Tablestore pour .NET et SDK Tablestore pour PHP. Cet exemple utilise le SDK Tablestore pour Java.

String tableName = "example_table";
String indexName = "example_index";

RangeQuery rangeQuery = new RangeQuery();
rangeQuery.setFieldName("price");
rangeQuery.greaterThanOrEqual(ColumnValue.fromLong(100L));
rangeQuery.lessThan(ColumnValue.fromLong(500L));

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(rangeQuery);
searchQuery.setLimit(10);
searchQuery.setTrackTotalCount(SearchQuery.TRACK_TOTAL_COUNT);

SearchRequest request = new SearchRequest(tableName, indexName, searchQuery);
SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);

SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
System.out.println(response.getRows());

Facturation

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

FAQ

Références