弹性Elasticsearch阅读器/写入器
许可选项对于这种格式,从FME专业版开始。
概述
FME提供对Elasticsearch集群上的索引的读写访问。FME将Elasticsearch索引中的每一种类型都视为特征类型。一个类型的每个文档都被视为一个特性,文档中的每个字段都被视为一个属性。
Elasticsearch是一个开源的全文搜索索引。Elasticsearch索引是支持LonLat或GeoJSON几何结构的JSON文档存储。
更多关于Elasticsearch的信息可以在www.elastic.co.
格式使用笔记
- 有两种类型的Elasticsearch几何字段:geo_point和geo_shape.geo_point字段只能包含点几何,而geo_shape字段可以包含任何可表示为GeoJSON的几何图形。
- 您可以编写来自大多数坐标系统的特性,但在转换为GeoJSON时,它们都将被重新投影到LL-WGS84。所有GeoJSON坐标的坐标参考系统是一个地理坐标参考系统,使用世界大地测量系统1984 (WGS 84) [WGS84]基准。(参考:GeoJSON格式]
- 写器:如果将非点几何写到geo_point字段,然后几何将转换为它的质心点之前写入。
- 作者:每个Elasticsearch文档都有一个惟一的document ID。这个ID可以通过在Writer特征类型参数中选择的属性在特征上指定。如果具有该ID的文档已经存在,那么翻译将失败。
读者概述
Elasticsearch阅读器支持从同一个Elasticsearch索引读取多种类型。因此,必须为每个Elasticsearch索引创建一个单独的阅读器。
类型必须在工作空间中定义,然后才能读取它们。
多个几何
Elasticsearch阅读器支持从相同的Elasticsearch类型读取多个几何字段。如果在类型映射中有多个几何字段,那么几何将被读为FME多个几何.每个几何部分将以相应的Elasticsearch几何字段命名。
作家概述
Elasticsearch编写器将文档存储到与Elasticsearch索引相关联的类型中。Elasticsearch writer提供了以下功能:
类型创建
Elasticsearch编写器使用FME工作区中的信息来根据需要自动创建Elasticsearch类型。当处理第一个输入特性时,将创建一个类型。如果没有向特性类型发送特性,则不会创建相应的类型。
每个类型都是基于特性类型的用户属性使用映射(模式)创建的。写入Type的每个JSON文档的字段将根据该映射进行解析。如果文档包含Mapping中没有出现的任何字段,那么这些字段将自动添加到文档中。如果特性类型的Document Source是一个JSON属性,就会发生这种情况。
覆盖索引
如果写入器的Overwrite Index参数设置为Yes,那么写入器将删除并在向其写入任何特性之前重新创建索引。
在处理第一个输入特征时,索引将被覆盖。如果没有特性被发送到写入器的任何特性类型,那么相应的索引将不会被覆盖。
多个几何
Elasticsearch阅读器支持在相同的Elasticsearch类型中写入多个几何字段。
如果现有类型映射中有多个几何字段,那么特性的几何字段必须与目标Elasticsearch几何字段具有相同的名称。否则,将不会写几何。
如果一个特性的FME Multiple Geometry有多个部分,那么每个部分都可以写入不同的Elasticsearch几何字段。每个部分都将被写入Elasticsearch几何字段中,该几何字段对应于其几何部件名称,前提是该字段存在。
可以通过在表单中命名几何体来创建和/或写入嵌套几何体字段:
< outer_name >。< inner_name >
例如,一个geo_point几何领域叫做address.location会得到类似以下的数据:
{
"地址":{
" location ": [
}
}