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

Tablestore:すべて一致クエリ

最終更新日:Dec 28, 2024

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

前提条件

パラメーター

パラメーター

説明

TableName

データテーブルの名前。

IndexName

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

Query

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

Limit

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

特定のデータを返さずに、クエリ条件を満たす行の数のみをクエリするには、Limit を 0 に設定します。

GetTotalCount

クエリ条件を満たす行の総数を返すかどうかを指定します。このパラメーターのデフォルト値は false で、クエリ条件を満たす行の総数は返されません。

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

ColumnsToGet

クエリ条件を満たす各行のすべての列を返すかどうかを指定します。

デフォルトでは、ReturnAll パラメーターは false に設定されており、すべての列が返されるわけではありません。 ReturnAll パラメーターが false に設定されている場合は、Columns パラメーターを使用して返す列を指定できます。 Columns パラメーターを指定しない場合は、プライマリキー列のみが返されます。

ReturnAll パラメーターを true に設定すると、一致する行のすべての列が返されます。

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

/**
 * テーブル内の行の総数をクエリするために、すべて一致クエリを実行します。
 */
func MatchAllQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    query := &search.MatchAllQuery{} // クエリタイプを MatchAllQuery に設定します。
    searchQuery := search.NewSearchQuery()
    searchQuery.SetQuery(query) 
    searchQuery.SetGetTotalCount(true) 
    searchQuery.SetLimit(0) // Limit パラメーターを 0 に設定します。これは、クエリが特定のデータ行を返さないことを指定します。
    searchRequest.SetSearchQuery(searchQuery)
    searchResponse, err := client.Search(searchRequest)
    if err != nil { // エラーが発生したかどうかを確認します。
        fmt.Printf("%#v", err) 
        return
    }
    fmt.Println("IsAllSuccess: ", searchResponse.IsAllSuccess)
    fmt.Println("TotalCount: ", searchResponse.TotalCount) // テーブル内の行の総数を表示します。
}

FAQ

テーブル内の行の総数をクエリする方法

参照

参照