すべてのプロダクト
Search
ドキュメントセンター

Tablestore:Terms クエリ

最終更新日:Dec 28, 2024

terms クエリは term クエリに似ています。 terms クエリは複数の用語をサポートします。キーワードの少なくとも 1 つがフィールド値と完全に一致する場合、データ行が返されます。 terms クエリは、SQL ステートメントの IN 演算子と同じ方法で使用できます。

前提条件

パラメーター

パラメーター

説明

TableName

データテーブルの名前。

IndexName

検索インデックスの名前。

Query

クエリのタイプ。クエリタイプを TermsQuery に設定します。

FieldName

一致させたいフィールドの名前。

Terms

terms クエリを実行するときに、フィールドの値と一致させるために使用するキーワード。

キーワードの少なくとも 1 つがフィールド値と完全に一致する場合、データ行が返されます。

Limit

現在のクエリで返される最大行数。

クエリ条件を満たす行数を特定のデータなしでクエリするには、Limit パラメーターを 0 に設定します。

ColumnsToGet

クエリ条件を満たす各行のすべての列を返すかどうかを指定します。このパラメーターには、ReturnAll、Columns、および ReturnAllFromIndex を設定できます。

ReturnAll のデフォルト値は false で、すべての列が返されないことを指定します。次のいずれかの方法を使用して、返される列を指定できます。次の方法を使用して返される列を指定しない場合、主キー列のみが返されます。

  • Columns を設定して、返される列を指定します。

  • ReturnAllFromIndex を true に設定して、検索インデックスからすべての列を返します。

ReturnAll を true に設定すると、すべての列が返されます。

次のサンプルコードは、テーブルの Col_Keyword 列の値が「SearchIndex」または「Sample」キーワードと完全に一致する行をクエリする方法の例を示しています。

/// <summary>
/// Col_Keyword 列の値が「SearchIndex」または「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);
    // ColumnsToGet パラメーターを指定して、指定した列、クエリ条件を満たす行のすべての列、または検索インデックスのすべての列を返すことができます。このパラメーターを指定しない場合、主キー列のみが返されます。
    searchRequest.ColumnsToGet = new ColumnsToGet
    {
        // 検索インデックスのすべての列が返されるように指定します。
        ReturnAllFromIndex = true
        // 返す列を指定します。
        //Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
        // すべての列が返されるように指定します。
        //ReturnAll = true         
    };

    SearchResponse searchResponse = otsClient.Search(searchRequest);

    Console.WriteLine(JsonConvert.SerializeObject(searchResponse));
}

FAQ

参考資料

  • 検索インデックスを使用してデータをクエリする場合、次のクエリメソッドを使用できます。 term クエリterms クエリmatch all クエリmatch クエリmatch phrase クエリprefix クエリrange クエリwildcard クエリBoolean クエリgeo クエリnested クエリexists クエリ。ビジネス要件に基づいて、さまざまなクエリメソッドを使用して複数のディメンションからデータをクエリできます。

    並べ替えおよびページング機能を使用して、クエリ条件を満たす行を並べ替えまたはページングできます。詳細については、並べ替えとページング を参照してください。

    折りたたみ(重複排除)機能を使用して、特定の列に基づいて結果セットを折りたたむことができます。このようにして、指定されたタイプのデータはクエリ結果に一度だけ表示されます。詳細については、折りたたみ(重複排除) を参照してください。

  • データテーブルのデータを分析する場合、Search 操作の集計機能を使用するか、SQL ステートメントを実行できます。たとえば、最小値と最大値、合計、および行の総数を取得できます。詳細については、集計 および SQL クエリ を参照してください。

  • 行を並べ替えることなく、クエリ条件を満たすすべての行を取得する場合、ParallelScan および ComputeSplits 操作を呼び出して並列スキャン機能を使用できます。詳細については、並列スキャン を参照してください。