Tous les produits
Search
Centre de documentation

Tablestore:Requête de plage

Dernière mise à jour :Sep 28, 2026

Une requête de plage permet de récupérer des données d'une table en fonction d'une plage spécifiée. Pour un champ de type Text, une correspondance est trouvée si n'importe quel jeton de la valeur du champ satisfait à la condition de plage.

Interface

Exécutez une requête de plage à l'aide de l'opération Search ou ParallelScan. Le type de requête est RangeQuery.

Paramètres

Paramètre

Description

fieldName

Champ à faire correspondre.

from

Valeur de début de la plage.

Pour définir la condition de plage, utilisez greaterThan pour spécifier supérieur à (>) ou greaterThanOrEqual pour spécifier supérieur ou égal à (>=).

to

Valeur de fin de la plage.

Pour définir la condition de plage, utilisez lessThan pour spécifier inférieur à (<) ou lessThanOrEqual pour spécifier inférieur ou égal à (<=).

includeLower

Indique si la valeur from doit être incluse dans les résultats. Type : Boolean.

includeUpper

Indique si la valeur to doit être incluse dans les résultats. Type : Boolean.

query

Définissez le type de requête sur RangeQuery.

sort

Trie les résultats selon un ordre spécifié. Pour plus d'informations, consultez Tri et pagination.

getTotalCount

Indique s'il faut renvoyer le nombre total de lignes correspondantes. La valeur par défaut est false, ce qui signifie que le nombre total de lignes correspondantes n'est pas renvoyé.

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

tableName

Nom de la table de données.

indexName

Nom de l'index de recherche.

columnsToGet

Indique s'il faut renvoyer toutes les colonnes. Cela inclut les paramètres returnAll et columns.

returnAll a la valeur false par défaut. Cela signifie que toutes les colonnes ne sont pas renvoyées. Utilisez columns pour spécifier les colonnes à renvoyer. Si vous n'utilisez pas columns pour spécifier les colonnes, seules les colonnes de clé primaire sont renvoyées.

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

Utilisation

Exécutez une requête de plage à l'aide de la console, de l'interface de ligne de commande ou d'un kit de développement logiciel (SDK). Avant d'exécuter une requête de plage, effectuez les préparatifs suivants.

Utiliser la console

  1. Accédez à l'onglet Indexes.

    1. Connectez-vous à la console Tablestore.

    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 que vous souhaitez gérer ou cliquez sur Manage Instance dans la colonne Actions de l'instance.

    4. Sur l'onglet Tables de l'onglet Instance Details, cliquez sur le nom de la table de données ou cliquez sur Indexes dans la colonne Actions de la table de données.

  2. Sur l'onglet Indexes, localisez l'index de recherche que vous souhaitez utiliser pour interroger les données et cliquez sur Manage Data dans la colonne Actions.

  3. Dans la boîte de dialogue Query Data, interrogez les données.

    1. Par défaut, le système renvoie toutes les colonnes d'attribut. Pour renvoyer des colonnes d'attribut spécifiques, désactivez All Columns et spécifiez les colonnes d'attribut que vous souhaitez renvoyer. Séparez plusieurs colonnes d'attribut par des virgules (,).

      Remarque

      Par défaut, le système renvoie toutes les colonnes de clé primaire de la table de données.

    2. Sélectionnez l'opérateur logique And, Or ou Not en fonction de vos besoins métier.

      Si vous sélectionnez l'opérateur logique And, les données répondant aux conditions de requête sont renvoyées. Si vous sélectionnez l'opérateur Or et spécifiez une seule condition de requête, les données répondant à cette condition sont renvoyées. Si vous sélectionnez l'opérateur logique Or et spécifiez plusieurs conditions de requête, les données répondant à l'une des conditions sont renvoyées. Si vous sélectionnez l'opérateur logique Not, les données ne répondant pas aux conditions de requête sont renvoyé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 Range Query (RangeQuery) et spécifiez une plage de requête.

      La plage de requête est un intervalle fermé à gauche et ouvert à droite.

    5. Par défaut, la fonctionnalité de tri est désactivée. Si vous souhaitez trier les résultats de la requête en fonction de champs spécifiques, activez Sort et spécifiez les champs selon lesquels vous souhaitez trier les résultats ainsi que l'ordre de tri.

    6. Par défaut, la fonctionnalité d'agrégation est désactivée. Si vous souhaitez collecter des statistiques sur un champ spécifique, activez Collect Statistics, spécifiez le champ sur lequel vous souhaitez collecter des statistiques, puis configurez les informations nécessaires à la collecte des statistiques.

  4. Cliquez sur OK.

    Les données répondant aux conditions de requête s'affichent dans l'ordre spécifié sur l'onglet Indexes.

Utiliser l'interface de ligne de commande

Exécutez la commande search dans l'interface de ligne de commande pour interroger les données à l'aide d'un index de recherche. Pour plus d'informations, consultez Index de recherche.

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

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

    {
        "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 un SDK

Utilisez un SDK Java, un SDK Go, un SDK Python, un SDK Node.js, un SDK .NET ou un SDK PHP pour exécuter une requête de plage. Cette rubrique utilise le SDK Java comme exemple.

L'exemple suivant interroge les valeurs Long du champ price qui se situent dans l'intervalle semi-ouvert [100, 500). La requête renvoie au maximum 10 lignes et le nombre total de correspondances.

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());

Règles de facturation

Lorsque vous utilisez un index de recherche pour interroger des données, vous êtes facturé pour le débit de lecture consommé. Pour plus d'informations, consultez Éléments facturables des index de recherche.

FAQ

Références

  • Lorsque vous utilisez un index de recherche pour interroger des données, vous pouvez utiliser les méthodes de requête suivantes : requête term, requête terms, requête match all, requête match, requête match phrase, requête prefix, requête de plage, requête wildcard, requête fuzzy, requête Boolean, requête geo, requête nested, requête vectorielle KNN et requête exists. Sélectionnez les méthodes de requête en fonction de vos besoins métier pour interroger les données sous plusieurs angles.

    Triez ou paginez les lignes répondant aux conditions de requête à l'aide des fonctionnalités de tri et de pagination. Pour plus d'informations, consultez Tri et pagination.

    Utilisez la fonctionnalité de réduction (distinct) pour réduire l'ensemble de résultats en fonction d'une colonne spécifique. Ainsi, les données du type spécifié n'apparaissent qu'une seule fois dans les résultats de la requête. Pour plus d'informations, consultez Réduction (supprimer les doublons).

  • Si vous souhaitez analyser les données d'une table de données, utilisez la fonctionnalité d'agrégation de l'opération Search ou exécutez des instructions SQL. Par exemple, vous pouvez obtenir les valeurs minimales et maximales, la somme et le nombre total de lignes. Pour plus d'informations, consultez Agrégation et Requête SQL.

  • Si vous souhaitez obtenir toutes les lignes répondant aux conditions de requête sans avoir besoin de les trier, appelez les opérations ParallelScan et ComputeSplits pour utiliser la fonctionnalité d'analyse parallèle. Pour plus d'informations, consultez Analyse parallèle.