円形範囲検索を使用すると、中心点と半径で構成される円形の地理的エリアをクエリ条件として指定できます。Tablestore は、指定された列の値がこの円形地理エリア内に含まれる行を返します。
API オペレーション
Search オペレーションまたは ParallelScan オペレーションでクエリタイプを GeoDistanceQuery に設定することで、円形範囲検索を実行できます。
パラメーター
|
パラメーター |
説明 |
|
fieldName |
クエリ対象の列名。このパラメーターの値は GEOPOINT データの型である必要があります。 |
|
centerPoint |
中心点の座標ペア。座標ペアは緯度と経度の値で構成されます。 このパラメーターの値は |
|
distanceInMeter |
円形地理エリアの半径。このパラメーターの値は DOUBLE データの型です。単位:メートル。 |
|
getTotalCount |
クエリ条件を満たす行の合計数を返すかどうかを指定します。このパラメーターのデフォルト値は false であり、クエリ条件を満たす行の合計数を返さないことを意味します。 このパラメーターを true に設定すると、クエリパフォーマンスが低下します。 |
|
query |
多次元インデックスのクエリ文。このパラメーターを GeoDistanceQuery に設定します。 |
|
tableName |
データテーブルの名前。 |
|
indexName |
検索インデックスの名前。 |
|
columnsToGet |
クエリ条件を満たす各行のすべての列を返すかどうかを指定します。このパラメーターでは returnAll フィールドおよび columns フィールドを指定できます。 returnAll フィールドのデフォルト値は false であり、すべての列を返さないことを意味します。この場合、columns フィールドを使用して返す列を指定できます。返す列を指定しない場合は、プライマリキー列のみが返されます。 returnAll フィールドを true に設定すると、すべての列が返されます。 |
操作方法
Tablestore コンソール、Tablestore CLI、および Tablestore SDK を使用して円形範囲検索を実行できます。円形範囲検索を実行する前に、以下の前提条件を満たしていることを確認してください。
Table Store 操作に必要な権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用します。RAM ユーザーに権限を付与するには、「RAM ポリシーを使用した RAM ユーザーへの権限付与」をご参照ください。
SDK またはコマンドラインツールを使用する場合は、Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey を作成 してください。
データテーブルを作成 済みであること。
データテーブルに対して検索インデックスが作成されました。
SDK を使用する場合は、Tablestore クライアントを初期化 してください。
コマンドラインツールを使用する場合は、ツールをダウンロードして起動し、ご利用のインスタンスへの接続を設定して対象テーブルを選択します。詳細については、「コマンドラインツールのダウンロード」、「ツールの起動と接続情報の設定」、および「データテーブル操作」をご参照ください。
課金
多次元インデックスを使用したデータのクエリは、読み取りスループットを消費します。詳細については、「多次元インデックスのメータリングと課金」をご参照ください。
よくある質問
関連ドキュメント
多次元インデックスは、多次元データクエリ用にさまざまなクエリタイプをサポートしており、完全一致検索、複数値完全一致検索、完全一致検索、一致検索、フレーズ一致検索、範囲クエリ、プレフィックス検索、サフィックス検索、ワイルドカード検索、トークンベースのワイルドカード検索、ブール検索、ジオクエリ、ネストされたクエリ、ベクトル検索、および 存在クエリ が含まれます。
データをクエリする際には、結果セットを ソートおよびページネーション したり、重複排除 を実行したりできます。
最大値や最小値の検索、合計の計算、行数のカウントなどのデータ分析を行うには、統計集約 機能または SQL クエリ 機能を使用できます。
結果セットの順序を問わずデータを高速にエクスポートするには、Parallel Scan 機能を使用できます。