原文发布时间:2018-03-30 11:27:24

作者:张军

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。安装好ElasticSearch后,用浏览器可进行验证是否安装好,在浏览器中输入localhost9200或者127.0.0.1:9200出现如下界面说明安装成功。

FME与Elasticsearch

 如何利用FME将数据写入ElasticSearch或者从ElasticSearch中读取数据?在介绍FME读写ElasticSearch前,介绍一下个人理解的ElasticSearch中查询的问题,如下查询语句:

http://localhost:9200/test2/test2/_search/?pretty  第一个“test2”Index name,第二个test2Tpye name,后面的就是固定的查询语句串联。即:

<Node>:<Port>/<Index>/<Type><_search>….

Node>:节点ip

<port>:节点端口号,默认9200

<Index>:索引名,

<Type>:索引类型

以下方法是基于FME 2018ElasticSearch 6.1.1进行的应用样例。

 

FME写入Elasticsearch

FME中是提供了ElasticSearch数据格式的选项,当需要将数据导入到ElasticSearch时,直接添加写模块,在添加写模块的时候,参数设置时有两个主要参数需要注意

一个是Server参数,填写的是ElasticSearch的服务地址,通常本机的服务地址是localhost9200或者127.0.0.1:9200,注意,从浏览器上复制的地址前面带有“http://”,在这里输入地址的时候千万不要将“http://”加上;

另一个需要注意的是Index参数,该参数是ElasticSearch中的index名称,通常是全部小写,如果有大写,虽然在整个模板运行到时候不会有错误,但是最终查询的时候将无法查询到数据。

FME与Elasticsearch

 

添加好写模块后,在主界面打开写模块,如下图,注意”Type Name”参数,是可以自定义,也可以根据输入数据的图层来区分,但是名称同样也需要全部小写,否则会无法查询到数据。

FME与Elasticsearch

 

数据写入ElasticSearch中后,可使用ElasticSearch的查询语句,在浏览器中查看数据写入情况。输入查询地址http://localhost:9200/test5/test5/_search/?pretty后如下:

FME与Elasticsearch

 

在这里,为了方便大家查看写入的数据,推荐大家使用Elasticsearch可视化插件elasticsearch-head-master来查看数据。

FME与Elasticsearch

 

FME读取Elasticsearch

FME中也提供了可以直接读取Elasticsearch的数据格式,在模版中直接添加读模块,设置ServerIndexType List参数,即可读取相关的数据内容。根据FME读模块的设置,可以看出,一个索引文件下可以有多个Type,因此,我们在读取的时候选择需要读取的Type名称即可。

FME与Elasticsearch

 

在读取的结果中,将原有数据的属性项直接读取,也可以用读取json文件的方式。

FME与Elasticsearch

 

当然,利用作为存储大数据的Elasticsearch,数据量日益增多,利用FME不可能每次将所有的数据读取出来在进行筛选,因此,我们可以在FME的读模块中添加相应的JSON查询语句,去筛选读取需要的数据内容。

FME与Elasticsearch

 

也可以利用HTTPCaller转换器进行读取。

FME与Elasticsearch

 

需要注意的是,在Elasticsearch的查询语句中收到fromsize值的限制,每次能获取的数据量不超过10000条,即fromsize的值加起来不能超过10000,具体的说明请查看Elasticsearch相关的查询介绍。

以上内容是利用FME 2018Elasticsearch 6.1.1所做的非空间数据读写、查询样例,感兴趣的朋友可以尝试一下空间数据的读写以及查询功能。

相关文章:

  • 2022-12-23
  • 2021-11-08
  • 2022-01-07
  • 2021-06-15
  • 2022-01-16
  • 2022-12-23
  • 2021-09-28
  • 2021-10-29
猜你喜欢
  • 2021-06-04
  • 2021-08-27
  • 2021-04-24
  • 2021-12-17
  • 2021-09-16
  • 2021-08-26
  • 2021-10-17
相关资源
相似解决方案