Tous les produits
Search
Centre de documentation

Tablestore:Requête avec caractères génériques

Dernière mise à jour :Aug 18, 2026

Lors d'une requête avec caractères génériques, utilisez les caractères astérisque () et point d'interrogation (?) pour rechercher des données. L'astérisque () correspond à une chaîne de n'importe quelle longueur située avant, après ou au sein d'un terme de recherche. Le point d'interrogation (?) correspond à un seul caractère à une position spécifique. La chaîne peut commencer par un astérisque () ou un point d'interrogation (?). Par exemple, la recherche de la chaîne « tablee » permet de trouver « tablestore ».

Si le modèle de requête est *word* (équivalent à WHERE field_a LIKE '%word%' en SQL), privilégiez la fonctionnalité de requêtes avec caractères génériques basées sur les jetons pour optimiser les performances. Les performances restent stables quelle que soit la volumétrie des données.

Remarque

Pour effectuer une recherche NOT LIKE, utilisez une WildcardQuery avec le paramètre mustNotQueries d'une BoolQuery.

Prérequis

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

limit

Nombre maximal de lignes à renvoyer par la requête actuelle.

queryType

Type de requête. Définissez ce paramètre sur TableStore.QueryType.WILDCARD_QUERY.

fieldName

Nom de la colonne à interroger.

value

Chaîne contenant des caractères génériques. Sa longueur maximale est de 32 caractères.

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 n'est pas renvoyé.

Définir le paramètre getTotalCount sur true réduit les performances de la requête.

columnToGet

Indique s'il faut renvoyer toutes les colonnes de chaque ligne répondant aux conditions de requête. Configurez returnType et returnNames pour ce paramètre.

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

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

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

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

Exemples

L'exemple de code suivant recherche les lignes dont la valeur de Col_Keyword correspond à la chaîne « table*e ».

/**
 * Search the table for rows in which the value of Col_Keyword matches "table*e". 
 */
client.search({
    tableName: TABLE_NAME,
    indexName: INDEX_NAME,
    searchQuery: {
        offset: 0,
        limit: 10, // To query only the number of rows that meet the query conditions without returning specific data, you can set limit to 0. This way, Tablestore returns the number of rows that meet the query conditions without specific data from the table. 
        query: { // Set the query type to TableStore.QueryType.WILDCARD_QUERY. 
            queryType: TableStore.QueryType.WILDCARD_QUERY,
            query: {
                fieldName: "Col_Keyword",
                value: "table*e" // Specify a string that contains one or more wildcard characters in a wildcard query. 
            }
        },
        getTotalCount: true // Specify whether to return the total number of rows that meet the query conditions. The default value of this parameter is false, which indicates that the total number of rows that meet the query conditions is not returned. 
    },
    columnToGet: { // Specify the columns that you want to return. You can set the parameter to RETURN_SPECIFIED to return specified columns, RETURN_ALL to return all columns, RETURN_ALL_FROM_INDEX to return all columns in the search index, or RETURN_NONE to return only the primary key columns. 
        returnType: TableStore.ColumnReturnType.RETURN_ALL
    }
}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', JSON.stringify(data, null, 2));
});

FAQ

Références