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

Tablestore:完全一致検索

最終更新日:May 01, 2026

完全一致検索を使用すると、特定のフィールドがキーワードと完全に一致する行を検索できます。このキーワードはトークン化されません。TEXT フィールドの場合、Tablestore はフィールド値をトークン化し、各トークンに対してキーワードの完全一致を確認します。いずれかのトークンがキーワードと一致すれば、その行は検索結果に含まれます。

前提条件

パラメーター

パラメーター

説明

FieldName

一致させるフィールドの名前です。

Term

フィールド値と照合するキーワードです。このキーワードはトークン化されず、そのままフィールド全体の値または TEXT フィールドの各トークンに対して照合されます。

TEXT フィールドの場合、Tablestore はフィールド値をトークン化し、いずれかのトークンがキーワードと完全に一致するかどうかを確認します。たとえば、TEXT フィールドに "tablestore is cool" という値が含まれる場合、この値は "tablestore"、"is"、"cool" の 3 つのトークンに分割されます。これらのいずれかをキーワードとして指定すると、該当する行が返されます。

GetTotalCount

一致する行の総数を返すかどうかを指定します。デフォルトは false です。true に設定すると、クエリのパフォーマンスが低下します。

Query

クエリのタイプです。完全一致検索を行う場合は TermQuery を設定します。

TableName

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

IndexName

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

ColumnsToGet

一致した行に対して返すカラムを指定します。ReturnAllColumns、または ReturnAllFromIndex を設定できます。

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

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

  • ReturnAllFromIndextrue に設定して、多次元インデックス内のすべてのカラムを返します。

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

次の例では、Keyword_type_col フィールドが SearchIndex と完全に一致する行を検索します。

/// <summary>
/// Keyword_type_col が "SearchIndex" と完全に一致する行を検索します。
/// </summary>
/// <param name="otsClient"></param>
public static void TermQuery(OTSClient otsClient)
{
    var searchQuery = new SearchQuery();
    // 一致する行の総数を返します。
    searchQuery.GetTotalCount = true;
    // Keyword_type_col が "SearchIndex" と等しい行を一致させます。
    searchQuery.Query = new TermQuery("Keyword_type_col", new ColumnValue("SearchIndex"));

    var request = new SearchRequest(TableName, IndexName, searchQuery);
    // 多次元インデックス内のすべてのカラムを返します。
    // 特定のカラムを返す場合: Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
    // データテーブル内のすべてのカラムを返す場合: ReturnAll = true
    request.ColumnsToGet = new ColumnsToGet()
    {
        ReturnAllFromIndex = true
    };

    var response = otsClient.Search(request);
    // ページングされた結果については NextToken を確認します。
}

よくある質問

参照

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

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

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

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

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