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

Tablestore:Match All クエリを実行する

最終更新日:Dec 28, 2024

Match All クエリ機能を使用して、テーブル内のすべての行を照合し、テーブル内の行の総数をクエリしたり、複数のランダムな行を返したりできます。

前提条件

パラメータ

パラメータ

説明

Query

クエリのタイプ。このパラメータを MatchAllQuery に設定します。

TableName

データテーブルの名前。

IndexName

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

Limit

現在のクエリで返す行の最大数。

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

GetTotalCount

クエリ条件を満たす行の総数を返すかどうかを指定します。デフォルト値: false。これは、クエリ条件を満たす行の総数が返されないことを示します。

このパラメータを true に設定すると、クエリのパフォーマンスが低下します。

ColumnsToGet

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

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

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

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

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

次のサンプルコードは、テーブル内の行の総数をクエリする方法を示しています。

/// <summary>
/// テーブル内の行の総数をクエリするために Match All クエリを実行します。
/// </summary>
/// <param name="otsClient"></param>
public static void MatchAllQuery(OTSClient otsClient)
{
    var searchQuery = new SearchQuery();
    searchQuery.Query = new MatchAllQuery();
    searchQuery.GetTotalCount = true; // クエリ条件を満たす行の総数を返すには、GetTotalCount パラメータを true に設定します。
    /*
    * Match All クエリ結果では、TotalCount パラメータの値はテーブル内の行の総数を示します。
    * 特定のデータなしで、クエリ条件を満たす行の数のみをクエリするには、Limit パラメータを 0 に設定します。
    */
    searchQuery.Limit = 0;
    var request = new SearchRequest(TableName, IndexName, searchQuery);

    var response = otsClient.Search(request);
    // クエリ条件を満たすすべての行が返されるかどうかを確認します。isAllSuccess パラメータの値が false の場合、Tablestore は一部のサーバーでデータのクエリに失敗する可能性があり、クエリ条件を満たすすべての行が返されない可能性があります。
    Console.WriteLine("IsAllSuccess:" + response.IsAllSuccess);
    Console.WriteLine("Total Count:" + response.TotalCount);
}

FAQ

テーブル内の行の総数をクエリするにはどうすればよいですか?

参照