Tous les produits
Search
Centre de documentation

Tablestore:Requête booléenne

Dernière mise à jour :Aug 18, 2026

Une requête booléenne permet de récupérer des données dans une table en combinant plusieurs sous-requêtes. Tablestore renvoie les lignes qui satisfont aux conditions définies par ces sous-requêtes. Une sous-requête peut être de n'importe quel type, y compris une requête booléenne.

Opération API

Appelez l'opération Search ou ParallelScan et définissez le type de requête sur BoolQuery pour exécuter une requête booléenne.

Paramètres

Paramètre

Description

mustQueries

Liste de sous-requêtes. Seules les lignes satisfaisant à toutes les conditions des sous-requêtes sont renvoyées. Ce paramètre équivaut à l'opérateur AND.

mustNotQueries

Liste de sous-requêtes. Seules les lignes ne satisfaisant à aucune des conditions des sous-requêtes sont renvoyées. Ce paramètre équivaut à l'opérateur NOT.

filterQueries

Liste de sous-requêtes. Seules les lignes correspondant à tous les filtres sont renvoyées. Un filtre fonctionne comme une requête, sauf qu'aucun score de pertinence n'est calculé en fonction du nombre de sous-filtres auxquels une ligne répond.

shouldQueries

Liste de sous-requêtes que les résultats peuvent ou non correspondre. Ce paramètre équivaut à l'opérateur OR.

Seules les lignes satisfaisant au nombre minimal de conditions de sous-requêtes spécifié par le paramètre shouldQueries sont renvoyées.

Un score de pertinence global plus élevé indique que davantage de conditions spécifiées par le paramètre shouldQueries sont remplies.

minimumShouldMatch

Nombre minimal de conditions de sous-requêtes spécifiées par le paramètre shouldQueries que les lignes renvoyées doivent satisfaire. Si aucune autre condition de sous-requête n'est spécifiée en dehors de celles définies par le paramètre shouldQueries, la valeur par défaut du paramètre minimumShouldMatch est 1. Si d'autres conditions de sous-requêtes sont spécifiées, telles que celles définies par les paramètres mustQueries, mustNotQueries et filterQueries, la valeur par défaut du paramètre minimumShouldMatch est 0.

getTotalCount

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

Si vous définissez ce paramètre sur true, les performances de la requête sont réduites.

tableName

Nom de la table de données.

indexName

Nom de l'index de recherche.

columnsToGet

Indique si toutes les colonnes de chaque ligne satisfaisant 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, vous pouvez utiliser le champ columns pour spécifier les colonnes à renvoyer. Si vous ne spécifiez pas les colonnes à renvoyer, 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 booléenne. 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 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 satisfaisant à toutes les conditions spécifiées. Si vous sélectionnez Or, la requête renvoie les données satisfaisant à au moins une des conditions spécifiées. Si vous sélectionnez Not, la requête renvoie les données ne satisfaisant pas aux conditions spécifiées.

    3. Sélectionnez un champ d'index et cliquez sur Add. Configurez ensuite les paramètres Query Type et Value.

      Répétez cette étape pour ajouter des conditions de requête pour plusieurs champs d'index.

    4. 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.

    5. 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.

  4. Cliquez sur OK.

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

Utiliser l'interface CLI Tablestore

Utilisez l'interface CLI Tablestore pour exécuter la commande search afin d'interroger des données à l'aide d'index de recherche. Pour plus d'informations, consultez la rubrique Index de recherche.

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

    search -n search_index --return_all_indexed
  2. Saisissez les conditions de requête comme indiqué :

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "BoolQuery",
            "Query": {
                "MinimumShouldMatch": null,
                "MustQueries": null,
                "MustNotQueries": null,
                "FilterQueries": null,
                "ShouldQueries": [{
                    "Name": "RangeQuery",
                    "Query": {
                        "FieldName": "gid",
                        "From": null,
                        "To": 10,
                        "IncludeLower": false,
                        "IncludeUpper": false
                    }
                }, {
                    "Name": "TermQuery",
                    "Query": {
                        "FieldName": "gid",
                        "Term": 77
                    }
                }]
            }
        },
        "Aggregations": [{
            "Name": "avg",
            "Aggregation": {
                "AggName": "agg1",
                "Field": "gid",
                "MissingValue": null
            }
        }]
    }

Utiliser les SDK Tablestore

Utilisez les SDK Tablestore suivants pour exécuter une requête booléenne : 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.

Facturation

L'interrogation de 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

Références