全部产品

创建/删除索引

更新时间:2019-01-09 11:06:01

成功注册 DS 之后就可以创建索引表,索引表在物理上对应的是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;Content: 空
失败返回信息 Code: 400 - 提供参数不完整;Content: 空

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

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

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

示例 2: 在 my_ds 中新建my_index索引,指定存储类型为点要素,指定 id 的字段JSONPath 为 properties.id, date 字段为 properties.dtg,并对name字段创建二级索引,并对数据进行压缩。

  1. Curl \
  2. 'localhost:8080/geoserver/geomesa/geojson/index/my_ds/my_index
  3. -d id=properties.id
  4. -d points=true
  5. -d date=properties.dtg
  6. -d attr=properties.name
  7. -d compression=gz