Tous les produits
Search
Centre de documentation

Tablestore:Requête Exists

Dernière mise à jour :Aug 18, 2026

La requête Exists, également appelée requête NULL ou requête de valeur NULL, permet de déterminer si une colonne existe pour une ligne donnée dans des données clairsemées. Par exemple, vous pouvez rechercher les lignes dont la valeur de la colonne d'adresse n'est pas vide.

Remarque
  • Pour exécuter 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. Prenons l'exemple de la colonne city.

    • Si le type de la colonne city dans l'index de recherche est un type de base (tel que keyword) et que cette colonne est absente pour une ligne dans la table de données, l'index de recherche considère que la colonne city n'existe pas.

    • Si le type de la colonne city dans l'index de recherche est un type de base (tel que keyword) et que la valeur de cette colonne est un tableau vide ("city" = "[]") pour une ligne dans la table de données, l'index de recherche considère que la colonne city n'existe pas.

Prérequis

Paramètres

Paramètre

Description

TableName

Nom de la table de données.

IndexName

Nom de l'index de recherche.

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. Valeur par défaut : false. La définition de cette option sur true dégrade les performances de la requête.

FieldName

Nom du champ à interroger.

ColumnsToGet

Indique s'il faut renvoyer toutes les colonnes de chaque ligne correspondante. Valeurs prises en charge : ReturnAll, Columns et ReturnAllFromIndex.

Par défaut, ReturnAll est défini sur false, ce qui signifie que seules les colonnes de clé primaire sont renvoyées. Pour renvoyer des colonnes supplémentaires, utilisez l'une des options suivantes :

  • Définissez Columns pour spécifier les colonnes à renvoyer.

  • Définissez ReturnAllFromIndex sur true pour renvoyer toutes les colonnes présentes dans l'index de recherche.

Définissez ReturnAll sur true pour renvoyer toutes les colonnes de la table de données.

Exemples

L'exemple suivant permet de rechercher les lignes dont la colonne pk0 n'est pas vide.

/// <summary>
/// Perform an exists query to query the rows in which the value of the pk0 column is not empty. 
/// </summary>
/// <param name="otsClient"></param>
public static void ExistsQuery(OTSClient otsClient)
{
    ExistsQuery existsQuery = new ExistsQuery
    {
        FieldName = "pk0"
    };

    SearchQuery searchQuery = new SearchQuery
    {
        Query = existsQuery,
        GetTotalCount = false
    };

    SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
    SearchResponse searchResponse = otsClient.Search(searchRequest);

    Console.WriteLine(JsonConvert.SerializeObject(searchResponse));
}

FAQ

Références

  • Lorsque vous utilisez un index de recherche pour interroger des données, vous pouvez recourir aux 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 range, requête wildcard, requête booléenne, requête geo, requête imbriquée et requête exists. Vous pouvez utiliser différentes méthodes de requête pour interroger les données selon plusieurs dimensions, en fonction de vos besoins métier.

    Vous pouvez trier ou paginer les lignes répondant aux conditions de requête grâce aux fonctionnalités de tri et de pagination. Pour plus d'informations, consultez la rubrique Tri et pagination.

    La fonctionnalité de regroupement (distinct) permet de condenser l'ensemble des 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 la rubrique Regroupement (distinct).

  • Pour analyser les données d'une table de données, vous pouvez utiliser la fonctionnalité d'agrégation de l'opération Search ou exécuter des instructions SQL. Par exemple, vous pouvez obtenir les valeurs minimales et maximales, la somme ainsi que le nombre total de lignes. Pour plus d'informations, consultez les rubriques 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 la rubrique Analyse parallèle.