Une requête Terms renvoie les lignes dont la valeur d'un champ correspond exactement à l'un des mots-clés spécifiés. Elle équivaut à l'opérateur SQL IN et étend la requête Term (mot-clé unique) pour prendre en charge plusieurs mots-clés.
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 des index de recherche.
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 |
|
FieldName |
Nom du champ à utiliser pour la correspondance. |
|
Terms |
Mots-clés à comparer avec la valeur du champ. Une ligne est renvoyée si la valeur de son champ correspond exactement à au moins un mot-clé. |
|
Limit |
Nombre maximal de lignes à renvoyer. Définissez ce paramètre sur |
|
ColumnsToGet |
Colonnes à renvoyer pour chaque ligne correspondante. Configurez ce paramètre à l'aide de Par défaut,
Définissez |
Exemples
L'exemple suivant interroge les lignes dont la colonne Col_Keyword correspond exactement à "SearchIndex" ou à "Sample" :
/// <summary>
/// Search the table for rows in which the value of the Col_Keyword column exactly matches "SearchIndex" or "Sample".
/// </summary>
/// <param name="otsClient"></param>
public static void TermsQuery(OTSClient otsClient)
{
TermsQuery termsQuery = new TermsQuery();
termsQuery.FieldName = "Col_Keyword";
termsQuery.Terms = new List<ColumnValue>
{
new ColumnValue("SearchIndex"),
new ColumnValue("Sample")
};
SearchQuery searchQuery = new SearchQuery();
searchQuery.Query = termsQuery;
SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
// Specify columns to return: by search index, by name, or all columns.
// If not specified, only primary key columns are returned.
searchRequest.ColumnsToGet = new ColumnsToGet
{
// Return all columns in the search index.
ReturnAllFromIndex = true
// Return specific columns by name.
//Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// Return all columns in the data table.
//ReturnAll = true
};
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 Boolean, requête geo, requête nested 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 qui satisfont aux conditions de la requête à l'aide des fonctionnalités de tri et de pagination. Pour plus d'informations, consultez la rubrique Tri et pagination.
Vous pouvez utiliser la fonctionnalité de regroupement (distinct) pour regrouper 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).
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 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 qui satisfont 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.