3

设想

我有一个简单的 POJO,它基本上将用作我的索引文档的模板。这个 POJO 包含 java.util.Date 类型的字段 createdTimestamp

我正在使用 TransportClient 与 ES 集群通信。同一个客户端对象正在创建索引并将 bean 索引为弹性搜索文档。POJO 首先转换为 json,然后馈送到 client.prepareIndex() 方法

Kibana 用于分析索引。

问题 :

json 包含 createdTimestamp 为 "Mar 20, 2017 4:39:39 PM" 但是一旦它被索引,它就会被转换为 EPOC time(long number) ,这不适合在 kibana 上进行基于时间戳的分析。

我想要的只是有一种方法可以在索引到 ES 之前在 POJO 中配置一个字段,以便它可以与 Logstash 索引中的 @timestamp 字段一样使用。

我在 elasticsearch 库中遇到了一个 TimestampFieldMapper 类,但找不到使用它的方法。

使用 ES 5.2.2 , kibana 5.2.2 , 传输客户端 5.2.2

4

0 回答 0