Tous les produits
Search
Centre de documentation

Tablestore:Exists query

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 colonne address 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. Dans cet exemple, nous prenons la colonne city comme référence.

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

Prérequis

Paramètres

Paramètre

Description

fieldName

Nom du champ à interroger.

query

Type de requête. Définissez ce paramètre sur TableStore.QueryType.EXISTS_QUERY pour exécuter une requête Exists.

getTotalCount

Indique s'il faut renvoyer le nombre total de lignes correspondant aux conditions de requête. Valeur par défaut : false.

Définir cette option sur true réduit les performances de la requête.

tableName

Nom de la table de données.

indexName

Nom de l'index de recherche.

columnsToGet

Colonnes à renvoyer pour chaque ligne correspondante.

  • Si vous définissez returnType sur TableStore.ColumnReturnType.RETURN_SPECIFIED, configurez returnNames pour spécifier les colonnes à renvoyer.

  • Si vous définissez le paramètre returnType sur TableStore.ColumnReturnType.RETURN_ALL, toutes les colonnes sont renvoyées.

  • Si vous définissez le paramètre returnType sur TableStore.ColumnReturnType.RETURN_ALL_FROM_INDEX, toutes les colonnes de l'index de recherche sont renvoyées.

  • Si vous définissez le paramètre returnType sur TableStore.ColumnReturnType.RETURN_NONE, seules les colonnes de clé primaire sont renvoyées.

Exemples

L'exemple suivant interroge les lignes dont la colonne pic_des n'est pas vide.

client.search({
    tableName: TABLE_NAME,
    indexName: INDEX_NAME,
    searchQuery: {
        offset: 0,
        limit: 10, // Set limit to 0 to return only the row count without data.
        query: {
            queryType: TableStore.QueryType.EXISTS_QUERY,
                        query: {
                                fieldName: "pic_des"
                        },
        },
        getTotalCount: true // Set to true to return the total number of matching rows. Default value: false.
    },
    columnToGet: { // RETURN_SPECIFIED: specified columns; RETURN_ALL: all columns; RETURN_ALL_FROM_INDEX: all columns in the search index; RETURN_NONE: primary key columns only.
        returnType: TableStore.ColumnReturnType.RETURN_SPECIFIED,
        returnNames: ["Col_1", "Col_2", "Col_3"]
    }
}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', JSON.stringify(data, null, 2));
});

FAQ

Références

  • Les index de recherche prennent en charge les types de requêtes suivants : 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 Boolean, requête geo, requête nested, requête vector et requête exists. Sélectionnez un type de requête adapté à vos besoins métier.

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

    Pour regrouper l'ensemble des résultats en fonction d'une colonne spécifique, utilisez la fonctionnalité de collapse (distinct). 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 Collapse (distinct).

  • Pour analyser les données d'une table de données, par exemple pour obtenir les valeurs extrêmes, la somme ou le nombre total de lignes, effectuez des opérations d'agrégation ou exécutez des instructions SQL. Pour plus d'informations, consultez les rubriques Agrégation et Requête SQL.

  • Pour obtenir rapidement toutes les lignes répondant aux conditions de requête sans avoir besoin de les trier, appelez les opérations ParallelScan et ComputeSplits afin d'utiliser la fonctionnalité de balayage parallèle. Pour plus d'informations, consultez la rubrique Balayage parallèle.