La requête Exists, également appelée requête NULL ou requête de valeur NULL, permet de déterminer si une colonne d'une ligne existe dans des données éparses. Par exemple, vous pouvez interroger les lignes dont la valeur de la colonne address n'est pas vide.
Pour effectuer une requête Exists sur une colonne Nested, utilisez une requête imbriquée (nested query).
Pour vérifier si une colonne contient des valeurs vides, combinez ExistsQuery avec mustNotQueries dans le cadre d'une BoolQuery.
-
Le système considère qu'une colonne n'existe pas si l'une des conditions suivantes est remplie. Dans cet exemple, nous prenons la colonne city.
Le type de la colonne city dans l'index de recherche est un type de base, tel que keyword. Si une ligne de la table de données ne contient pas la colonne city, l'index de recherche considère que cette colonne n'existe pas.
Le type de la colonne city dans l'index de recherche est un type de base, tel que keyword. Si la valeur de la colonne city est un tableau vide dans la table de données (« city » = « [] »), l'index de recherche considère que cette colonne n'existe pas.
API operations
Appelez l'opération Search ou ParallelScan et définissez le type de requête sur ExistsQuery pour exécuter une requête Exists.
Parameters
|
Parameter |
Description |
|
fieldName |
Nom de la colonne à interroger. |
|
query |
Type de requête. Définissez ce paramètre sur ExistsQuery. |
|
getTotalCount |
Indique s'il faut renvoyer le nombre total de lignes correspondant aux conditions de requête. La valeur par défaut 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 s'il faut renvoyer toutes les colonnes de chaque ligne correspondant aux conditions de requête. 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. |
Methods
Exécutez une requête Exists via la console Tablestore, l'interface CLI Tablestore ou les SDK Tablestore. Avant de commencer, assurez-vous d'avoir effectué les préparatifs suivants :
-
Utilisez un compte Alibaba Cloud ou un utilisateur RAM disposant des autorisations nécessaires pour les opérations Table Store. Pour accorder des autorisations à un utilisateur RAM, consultez la rubrique Grant permissions to a RAM user by using a RAM policy.
Si vous utilisez un SDK ou un outil en ligne de commande, create an AccessKey pour votre compte Alibaba Cloud ou votre utilisateur RAM si vous n'en possédez pas déjà un.
Vous avez created a data table.
Un Search Index a été créé pour la table de données.
Si vous utilisez un SDK, initialize the Tablestore Client.
Si vous utilisez l'outil en ligne de commande, téléchargez et démarrez l'outil, puis configurez la connexion à votre instance et sélectionnez la table cible. Pour plus d'informations, consultez les rubriques Download the command-line tool, Start the tool and configure connection information et Data table operations.
Billing
L'interrogation de données à l'aide d'un index de recherche consomme du débit de lecture. Pour plus d'informations, consultez la rubrique Search Index metering and billing.
FAQ
References
L'index de recherche prend en charge divers types de requêtes pour les interrogations de données multidimensionnelles, notamment la term query, la terms query, la match all query, la match query, la phrase match query, la range query, la prefix query, la suffix query, la wildcard query, la token-based wildcard query, la boolean query, la geo query, la nested query, la vector search, et la exists query.
Lorsque vous interrogez des données, vous pouvez sort and paginate l'ensemble de résultats ou effectuer un collapsing (deduplication).
Pour l'analyse des données, telle que la recherche de la valeur maximale ou minimale, le calcul d'une somme ou le comptage des lignes, vous pouvez utiliser les fonctionnalités d'statistical aggregation ou de SQL query.
Pour exporter rapidement des données indépendamment de l'ordre de l'ensemble de résultats, vous pouvez utiliser la fonctionnalité Parallel Scan.