有没有办法为Elasticsearch Java API提供日期转换器?
问题描述:
我有一个遗留的域对象,它以毫秒为单位存储日期/时间。我现在想使用JestClient在ES中索引这个对象,这只是ES Java API的一个包装。有没有办法为Elasticsearch Java API提供日期转换器?
有没有办法告诉ES在编制索引时将这个长整型值转换为日期,例如strict_date_time_no_millis格式(“yyyy-MM-dd'T'HH:mm:ssZZ”)?那么是否有可能告诉ES在检索结果时将日期转换回毫秒?
答
索引中弹性搜索存储的区别以及它如何返回原始值存在差异。原始值是elasticsearch在匹配文档时返回的值。使用映射可以定义字段的处理方式。当你指定一个字段是一个日期时,你可以传递一个特定格式的字符串,但你也可以提供一个以毫秒为单位的时间。我没有看到elasticsearch在匹配时返回的文档中转换实际传递的值。
这有帮助吗?