完全一致検索を使用すると、データテーブル内のすべての行に一致します。これは、行数の合計をカウントしたり、ランダムサンプルを取得したりする場合に便利です。
前提条件
-
OTSClient インスタンスが初期化されています。詳細については、「OTSClient インスタンスの初期化」をご参照ください。
-
データテーブルが作成され、データが書き込まれています。詳細については、「データテーブルの作成」および「データの書き込み」をご参照ください。
-
データテーブルに対して多次元インデックスが作成されています。詳細については、「多次元インデックスの作成」をご参照ください。
パラメーター
|
パラメーター |
説明 |
|
tableName |
データテーブルの名前。 |
|
indexName |
検索インデックスの名前。 |
|
offset |
クエリの開始位置。 |
|
limit |
返される行の最大数。 データを返さずに行数のみを取得する場合は、この値を 0 に設定します。 |
|
query |
クエリタイプ。完全一致検索の場合は |
|
getTotalCount |
クエリ条件に一致する行の総数を返すかどうかを指定します。デフォルト値は この値を |
|
columnToGet |
一致した各行に対して返す列を指定します。
|
コード例
次の例では、完全一致検索を使用してデータテーブル内の行の総数をカウントします。
/**
* 完全一致検索を実行して、データテーブルの行数の合計を取得します。
*/
client.search({
tableName: TABLE_NAME,
indexName: INDEX_NAME,
searchQuery: {
offset: 0,
limit: 10, // データを返さずに行数のみを取得する場合は 0 を設定します。
query: {
queryType: TableStore.QueryType.MATCH_ALL_QUERY
},
getTotalCount: true // 一致した行の総数を返す場合は true を設定します。デフォルト値は false です。
},
columnToGet: { // RETURN_SPECIFIED: 指定された列のみ; RETURN_ALL: すべての列; RETURN_ALL_FROM_INDEX: 多次元インデックス内のすべての列; RETURN_NONE: プライマリキー列のみ。
returnType: TableStore.ColumnReturnType.RETURN_SPECIFIED,
returnNames: ["Col_1", "Col_2", "Col_3"]
}
}, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', JSON.stringify(data, null, 2));
});
よくある質問
参照
多次元インデックスでサポートされているクエリタイプは次のとおりです:完全一致検索、複数値完全一致検索、完全一致検索、一致検索、フレーズ一致検索、プレフィックス検索、範囲クエリ、ワイルドカード検索、ブール値クエリ、ジオクエリ、ネストされたクエリ、ベクタークエリ、および存在クエリ。ビジネス要件に基づいて適切なクエリタイプを選択し、データをクエリできます。
クエリ条件を満たす行をソートまたはページングする場合は、ソートおよびページング機能を使用できます。詳細については、「ソートおよびページング」をご参照ください。
特定の列に基づいて結果セットを折りたたむ(distinct)場合は、折りたたみ(distinct)機能を使用できます。これにより、指定されたタイプのデータがクエリ結果内に一度だけ表示されます。詳細については、「折りたたみ(distinct)」をご参照ください。
データテーブル内のデータを分析し、最大値・最小値・合計値・行数などを取得したい場合は、集約操作を実行するか、SQL ステートメントを実行できます。詳細については、「集約」および「SQL クエリ」をご参照ください。
クエリ条件を満たすすべての行を、ソートせずに迅速に取得したい場合は、ParallelScan 操作および ComputeSplits 操作を呼び出して並列スキャン機能を使用できます。詳細については、「並列スキャン」をご参照ください。