Tous les produits
Search
Centre de documentation

Tablestore:Effectuer une requête par préfixe

Dernière mise à jour :Aug 18, 2026

Effectuez une requête par préfixe pour interroger les données dont le préfixe correspond à celui spécifié. Si la colonne utilisée pour faire correspondre les conditions de la requête est de type TEXT, la valeur de la colonne est tokenisée. Une ligne satisfait aux conditions de la requête lorsque la valeur tokenisée de la colonne spécifiée contient au moins un terme qui inclut le préfixe indiqué.

Prérequis

Paramètres

Paramètre

Description

FieldName

Nom de la colonne à interroger.

Prefix

Préfixe utilisé pour faire correspondre la valeur de la colonne lors d'une requête par préfixe.

Si la colonne utilisée pour faire correspondre les conditions de la requête est de type TEXT, la valeur de la colonne est tokenisée. Une ligne satisfait aux conditions de la requête lorsque la valeur tokenisée de la colonne spécifiée contient au moins un terme qui inclut le préfixe indiqué.

GetTotalCount

Indique s'il faut renvoyer le nombre total de lignes satisfaisant aux conditions de la 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 affectées.

Query

Type de requête. Définissez ce paramètre sur PrefixQuery.

TableName

Nom de la table de données.

IndexName

Nom de l'index de recherche.

ColumnsToGet

Indique s'il faut renvoyer toutes les colonnes des lignes satisfaisant aux conditions de la requête. Vous pouvez spécifier les paramètres 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 de l'index de recherche.

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

Exemple

L'exemple de code suivant montre comment interroger les lignes dont la valeur de la colonne Keyword_type_col contient le préfixe « Search » dans une table.

/// <summary>
/// Query the rows in which the value of the Keyword_type_col column contains the "Search" prefix in a table. 
/// </summary>
/// <param name="otsClient"></param>
public static void PrefixQuery(OTSClient otsClient)
{
    var searchQuery = new SearchQuery();
    // Set the query type to PrefixQuery, the column that you want to match to Keyword_type_col, and the prefix to "Search". 
    searchQuery.Query = new PrefixQuery("Keyword_type_col", "Search");
    // Return the total number of rows that meet the query conditions. 
    searchQuery.GetTotalCount = true;
    var request = new SearchRequest(TableName, IndexName, searchQuery);
    // You can specify the ColumnsToGet parameter to return the columns that you specify, all columns in the rows that meet the query conditions, or all columns in the search index. If you do not specify this parameter, only the primary key columns are returned. 
    request.ColumnsToGet = new ColumnsToGet()
    {
        // Return all columns in the search index. 
        ReturnAllFromIndex = true
        // Return the columns that you specify. 
        //Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
        // Return all columns in the rows that meet the query conditions. 
        //ReturnAll = true         
    };

    var response = otsClient.Search(request);

    Console.WriteLine("Total Count:" + response.TotalCount); // Display the total number of rows that meet the query conditions instead of the number of returned rows. 
}

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 par terme, requête par termes, requête MatchAll, requête par correspondance, requête par correspondance de phrase, requête par préfixe, requête par plage, requête avec caractère générique, requête booléenne, requête géographique, requête imbriquée et requête Exists. Vous pouvez utiliser différentes méthodes de requête pour interroger des données selon plusieurs dimensions en fonction de vos besoins métier.

    Vous pouvez trier ou paginer les lignes satisfaisant aux conditions de la requête en utilisant les fonctionnalités de tri et de pagination. Pour plus d'informations, consultez la rubrique Tri et pagination.

    Vous pouvez utiliser la fonctionnalité de regroupement (distinction) pour regrouper l'ensemble de 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 (distinction).

  • Si vous souhaitez 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 et 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 satisfaisant aux conditions de la requête sans avoir besoin de les trier, vous pouvez appeler les opérations ParallelScan et ComputeSplits pour utiliser la fonctionnalité d'analyse parallèle. Pour plus d'informations, consultez la rubrique Analyse parallèle.