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

Tablestore:複数値完全一致検索

最終更新日:May 01, 2026

複数値完全一致検索は、フィールドの値が複数の指定キーワードのいずれかと完全に一致する行を取得します。これは SQL の IN 演算子に相当し、単一キーワードの完全一致検索(term query)を複数キーワードに対応するように拡張したものです。

前提条件

パラメーター

パラメーター

説明

TableName

データテーブルの名前です。

IndexName

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

Query

クエリの種類です。TermsQuery を指定します。

FieldName

照合対象のフィールド名です。

Terms

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

Limit

返される行の最大数です。

0 を設定すると、行データを取得せずに一致する行の件数のみを返します。

ColumnsToGet

一致する各行で返すカラムを指定します。ReturnAllColumns、または ReturnAllFromIndex を使用して設定します。

デフォルトでは、ReturnAllfalse であり、プライマリキー列のみが返されます。追加のカラムを返すには、以下のいずれかのオプションを使用します。

  • Columns を設定して、返すカラムを指定します。

  • ReturnAllFromIndextrue に設定して、検索インデックス内のすべての列を返します。

ReturnAlltrue に設定すると、データテーブル内のすべてのカラムが返されます。

使用例

次の例では、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);
    // 返却カラムを指定します:多次元インデックスに基づく、カラム名による指定、または全カラム。
    // 指定しない場合、プライマリキー列のみが返されます。
    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));
}

よくある質問

参考資料

  • 多次元インデックスを使用してデータをクエリする際には、以下のクエリ方法を利用できます:完全一致検索複数値完全一致検索完全一致検索一致検索フレーズ一致検索プレフィックス検索範囲クエリワイルドカード検索ブール値クエリジオクエリネストされたクエリ、および 存在クエリ。ビジネス要件に応じて、さまざまなクエリ方法を組み合わせて多角的にデータをクエリできます。

    ソートおよびページング機能を使用して、クエリ条件を満たす行をソートまたはページ分割できます。詳細については、「ソートとページング」をご参照ください。

    折りたたみ(distinct)機能を使用して、特定のカラムに基づいて結果セットを折りたたむことができます。これにより、指定されたタイプのデータがクエリ結果に 1 回のみ表示されます。詳細については、「折りたたみ(distinct)」をご参照ください。

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

  • クエリ条件を満たすすべての行を取得する必要があり、かつ行のソートが不要な場合は、ParallelScan 操作および ComputeSplits 操作を呼び出して並列スキャン機能を使用できます。詳細については、「並列スキャン」をご参照ください。