範囲クエリを使用すると、矩形の地理的エリアをクエリ条件として指定できます。Tablestoreは、指定されたフィールドの値が矩形の地理的エリア内にある行を返します。
API操作
GeoBoundingBoxQuery にクエリタイプを設定して Search または ParallelScan 操作で範囲クエリを実行できます。
パラメーター
パラメーター | 説明 |
fieldName | クエリ対象の列の名前。このパラメーターの値はGEOPOINTデータ型です。 |
topLeft | 矩形の地理的エリアの左上隅の座標ペア。 |
bottomRight | 矩形の地理的エリアの右下隅の座標ペア。矩形の地理的エリアは、左上隅と右下隅を使用して指定できます。 形式は |
query | 検索インデックスのクエリステートメント。このパラメーターをGeoBoundingBoxQueryに設定します。 |
getTotalCount | クエリ条件を満たす行の総数を返すかどうかを指定します。このパラメーターのデフォルト値はfalseで、クエリ条件を満たす行の総数は返されません。 このパラメーターをtrueに設定すると、クエリのパフォーマンスが低下します。 |
tableName | データテーブルの名前。 |
indexName | 検索インデックスの名前。 |
columnsToGet | クエリ条件を満たす各行のすべての列を返すかどうかを指定します。このパラメーターには、returnAllフィールドとcolumnsフィールドを指定できます。 returnAllフィールドのデフォルト値はfalseで、すべての列が返されるわけではないことを指定します。この場合、columnsフィールドを使用して、返したい列を指定できます。返したい列を指定しない場合は、主キー列のみが返されます。 returnAllフィールドをtrueに設定すると、すべての列が返されます。 |
方法
Tablestoreコンソール、Tablestore CLI、およびTablestore SDKを使用して、範囲クエリを実行できます。範囲クエリを実行する前に、次の前提条件が満たされていることを確認してください。
Tablestoreで操作を実行する権限を持つAlibaba CloudアカウントまたはRAMユーザーを持っていること。RAMユーザーにTablestore操作権限を付与する方法については、RAMポリシーを使用してRAMユーザーに権限を付与するを参照してください。
Tablestore SDKまたはTablestore CLIを使用してクエリを実行する場合、Alibaba CloudアカウントまたはRAMユーザーのAccessKeyペアが作成されます。詳細については、AccessKeyペアを作成するを参照してください。
データテーブルが作成されていること。詳細については、テーブルの操作を参照してください。
データテーブルの検索インデックスが作成されていること。詳細については、検索インデックスを作成するを参照してください。
Tablestore SDKを使用してクエリを実行する場合、OTSClientインスタンスが初期化されていること。詳細については、OTSClientインスタンスを初期化するを参照してください。
Tablestore CLIを使用してクエリを実行する場合、Tablestore CLIがダウンロードされて起動され、アクセスするインスタンスとデータテーブルの情報が構成されていること。詳細については、Tablestore CLIをダウンロードする、Tablestore CLIを起動し、アクセス情報を構成する、およびデータテーブルの操作を参照してください。
課金ルール
検索インデックスを使用してデータをクエリする場合、消費された読み取りスループットに対して課金されます。詳細については、検索インデックスの課金対象項目を参照してください。
FAQ
参考資料
検索インデックスを使用してデータをクエリする場合、次のクエリメソッドを使用できます。用語クエリ、複数用語クエリ、すべて一致クエリ、一致クエリ、フレーズ一致クエリ、プレフィックスクエリ、範囲クエリ、ワイルドカードクエリ、あいまいクエリ、ブールクエリ、地理クエリ、ネストされたクエリ、KNNベクトル検索、および存在クエリ。ビジネス要件に基づいてクエリメソッドを選択し、複数のディメンションからデータをクエリできます。
並べ替え機能とページング機能を使用して、クエリ条件を満たす行を並べ替えたりページ分割したりできます。詳細については、並べ替えとページングの実行を参照してください。
折りたたみ(重複排除)機能を使用して、特定の列に基づいて結果セットを折りたたむことができます。これにより、指定されたタイプのデータはクエリ結果に1回だけ表示されます。詳細については、折りたたみ(重複排除)を参照してください。
データテーブルのデータを分析する場合は、Search操作の集計機能を使用するか、SQLステートメントを実行できます。たとえば、最小値、最大値、合計、および行の総数を取得できます。詳細については、集計とSQLクエリを参照してください。
行を並べ替えることなく、クエリ条件を満たすすべての行を取得する場合は、ParallelScan操作とComputeSplits操作を呼び出して、並列スキャン機能を使用できます。詳細については、並列スキャンを参照してください。