DS が登録された後、インデックステーブルを作成できます。インデックステーブルは HBase テーブルに対応します。HBase Ganos は、GeoJson 形式のデータ型に基づいて異なるインデックステーブルを自動的に作成します。これらのインデックステーブルには、プロパティインデックステーブルと時空間インデックステーブルが含まれます。次の表に、インデックスを作成するための構文を示します。
パラメーター | 説明 |
URL | /index/:alias/:index |
メソッド | POST |
URL パラメーター | alias=[英数字] は DS の名前を指定します。index=[英数字] はインデックステーブルの名前を指定し、インデックスの一意の識別子として使用されます。 |
データパラメーター | points=[ブール値] はポイントレイヤーかどうかを指定します。HBase Ganos はポイントデータストレージを最適化します。date=[英数字] は時間属性の JSONPath を指定し、null にすることができます(時間インデックスは作成されません)。id=[英数字] はフィーチャ ID の JSONPath を指定します。attr=[英数字] はセカンダリインデックス属性の JSONPath を指定します。これは null にすることができます(属性インデックスは作成されません)。compression=[英数字] は圧縮オプションを指定します。有効な値:gz、lzo、snappy。空(データは圧縮されません) |
成功レスポンス | コード:201。コンテンツ:空。 |
エラーレスポンス | コード:400。これは、必須パラメーターの一部が指定されていないことを示します。コンテンツ:空。 |
例 1:my_ds という名前の DS に my_index という名前のインデックスを作成し、properties.id 列を ID インデックスとして指定します。
curl \ 'localhost:8080/geoserver/geomesa/geojson/index/my_ds/my_index'\
-d id=properties.id
このステートメントでは、date、attr のインデックスは作成されないことに注意してください。クエリステートメントに時間またはその他のプロパティがある場合、クエリはフルテーブルスキャンをトリガーします。
例 2:my_ds に my_index という名前のインデックスを作成し、ストレージタイプを Point に設定し、ID の JSONPath を properties.id に設定し、日付を properties.dtg に設定し、name 列にセカンダリインデックスを作成し、データを圧縮します。
Curl \
'localhost:8080/geoserver/geomesa/geojson/index/my_ds/my_index
-d id=properties.id \
-d points=true \
-d date=properties.dtg \
-d attr=properties.name \
-d compression=gz