Utilisez la requête Match All pour sélectionner toutes les lignes d'une table de données. Cette approche est utile pour compter le nombre total de lignes ou extraire un échantillon aléatoire.
Prérequis
Initialisez une instance OTSClient. Pour plus d'informations, consultez la rubrique Initialiser une instance OTSClient.
Créez une table de données et écrivez-y des données. Pour plus d'informations, consultez les rubriques Créer des tables de données et Écrire des données.
Créez un index de recherche pour la table de données. Pour plus d'informations, consultez la rubrique Créer un index de recherche.
Paramètres
|
Paramètre |
Description |
|
tableName |
Nom de la table de données. |
|
indexName |
Nom de l'index de recherche. |
|
offset |
Position de départ de la requête. |
|
limit |
Nombre maximal de lignes à renvoyer. Pour renvoyer uniquement le nombre de lignes sans les données, définissez ce paramètre sur 0. |
|
query |
Type de requête. Définissez-le sur |
|
getTotalCount |
Indique s'il faut renvoyer le nombre total de lignes correspondant aux conditions de requête. Valeur par défaut : Définir ce paramètre sur |
|
columnToGet |
Colonnes à renvoyer pour chaque ligne correspondante. Configurez ce paramètre à l'aide de
|
Exemples
L'exemple suivant utilise une requête Match All pour compter le nombre total de lignes dans une table de données :
/**
* Perform a match all query to get the total row count of a data table.
*/
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // Set to 0 to return only the row count without data.
query: {
queryType: TableStore.QueryType.MATCH_ALL_QUERY
},
getTotalCount: true // Set to true to return the total number of matched rows. Default: false.
},
columnToGet: { // RETURN_SPECIFIED: specified columns only; 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
Comment interroger le nombre total de lignes dans une table ?
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 booléenne, requête geo, requête nested, requête vectorielle et requête exists. Sélectionnez le 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 selon une colonne spécifique, utilisez la fonctionnalité de regroupement (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 Regroupement (distinct).
Pour analyser les données d'une table de données, par exemple pour obtenir les valeurs extrêmes, la somme et 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é d'analyse parallèle. Pour plus d'informations, consultez la rubrique Analyse parallèle.