创建和删除索引

成功注册DataStore之后就可以创建索引表,索引表在物理上对应的是HBase表。HBase Ganos会根据GeoJson格式所描述的数据类型自动创建不同的索引表,包括属性索引表、时空索引表等。

创建索引语法如下:

配置参数

说明

URL

/index/:alias/:index

方法

POST

URL参数

alias=[alphanumeric]表示ds名称。index=[alphanumeric]表示索引表名称,用于唯一标识该索引。

数据参数

points=[Boolean]指定是否为点图层,HBase Ganos对点数据存储会进行优化。date=[alphanumeric]指定时间属性的JSONPath,可为空(不创建时间索引)。id=[alphanumeric]指定要素ID的JSONPath。attr=[alphanumeric]指定创建二级索引属性的JSONPath,可为空(不创建属性索引)。compression=[alphanumeric]指定压缩选项,可选gz、lzo或snappy,可为空(不对数据进行压缩)。

成功返回信息

Code: 201

失败返回信息

Code: 400表示参数不完整。

示例一:在名为my_ds的DS中建立my_index的索引,并指定ID索引为字段properties.id

 curl \ 'localhost:8080/geoserver/geomesa/geojson/index/my_ds/my_index'\
    -d id=properties.id
说明

该语句没有为date、attr等创建索引,当查询语句中带有时间或其他属性时,将会触发全表扫描。

示例二:在my_ds中新建my_index索引,指定存储类型为点要素,指定ID的字段JSONPath为properties.id,date的字段为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