すべて一致クエリを使用してテーブル内のすべての行を照合し、テーブル内の行の総数をクエリしたり、複数のランダムな行を返したりできます。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスの初期化を参照してください。
データテーブルが作成され、データがデータテーブルに書き込まれていること。詳細については、データテーブルの作成とデータの書き込みを参照してください。
データテーブルの検索インデックスが作成されていること。詳細については、検索インデックスの作成を参照してください。
パラメーター
パラメーター | 説明 |
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
参照
参照
検索インデックスを使用してデータをクエリする場合、次のクエリメソッドを使用できます:用語クエリ、複数用語クエリ、すべて一致クエリ、一致クエリ、一致フレーズクエリ、プレフィックスクエリ、範囲クエリ、ワイルドカードクエリ、地理クエリ、ブールクエリ、KNNベクトル検索クエリ、ネストされたクエリ、存在クエリ。検索インデックスによって提供されるクエリメソッドを使用して、ビジネス要件に基づいて複数のディメンションからデータをクエリできます。
並べ替えおよびページング機能を使用して、クエリ条件を満たす行を並べ替えたりページングしたりできます。詳細については、並べ替えとページングを参照してください。
折りたたみ(重複排除)機能を使用して、特定の列に基づいて結果セットを折りたたむことができます。このようにして、指定されたタイプのデータはクエリ結果に一度だけ表示されます。詳細については、折りたたみ(重複排除)を参照してください。
データテーブル内のデータを分析する場合は、検索操作の集計機能を使用するか、SQL ステートメントを実行できます。たとえば、最小値と最大値、合計、行の総数などを取得できます。詳細については、集計とSQL クエリを参照してください。
行を並べ替えることなく、クエリ条件を満たすすべての行を取得する場合は、ParallelScan および ComputeSplits 操作を呼び出して並列スキャン機能を使用できます。詳細については、並列スキャンの実行を参照してください。