多角形範囲検索を使用すると、多角形の地理的エリアをクエリ条件として指定できます。Tablestore は、指定されたフィールドの値がこの多角形の地理的エリア内に含まれる行を返します。
API オペレーション
Search 操作または ParallelScan 操作でクエリタイプを GeoPolygonQuery に設定することで、多角形範囲検索を実行できます。
パラメーター
|
パラメーター |
説明 |
|
fieldName |
クエリ対象の列名です。このパラメーターの値は GEOPOINT データの型である必要があります。 |
|
points |
多角形の地理的エリアを定義するポイントの座標ペアです。 このパラメーターの値は、 |
|
query |
多次元インデックスのクエリ文です。このパラメーターを GeoPolygonQuery に設定します。 |
|
getTotalCount |
クエリ条件を満たす行の総数を返すかどうかを指定します。デフォルト値は false で、クエリ条件を満たす行の総数は返されません。 このパラメーターを true に設定すると、クエリのパフォーマンスが低下します。 |
|
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 Client を初期化 してください。
コマンドラインツールを使用する場合は、ツールをダウンロードして起動し、ご利用のインスタンスへの接続を設定して対象テーブルを選択してください。詳細については、「コマンドラインツールのダウンロード」、「ツールの起動と接続情報の設定」、および「データテーブル操作」をご参照ください。
課金
多次元インデックスを使用してデータをクエリすると、読み取りスループットが消費されます。詳細については、「多次元インデックスのメータリングと課金」をご参照ください。
よくある質問
参照
多次元インデックスは、完全一致検索、複数値完全一致検索、完全一致検索、一致検索、フレーズ一致、範囲クエリ、プレフィックス検索、サフィックス検索、ワイルドカード検索、トークンベースのワイルドカード検索、ブール検索、ジオクエリ、ネストされたクエリ、ベクトル検索、および 存在検索 など、多次元データクエリ用のさまざまなクエリタイプをサポートしています。
データをクエリする際には、結果セットを ソートおよびページネーション したり、重複排除 を実行したりできます。
最大値や最小値の検索、合計の計算、行数のカウントなどのデータ分析を行うには、統計集約 機能または SQL クエリ 機能を使用できます。
結果セットの順序を問わずデータを高速にエクスポートするには、Parallel Scan 機能を使用できます。