3

步骤: 1. 在映射中定义一个日期字段。
2. 在该字段中插入一个纪元毫秒(长)值。

弹性搜索能否返回该字段的字符串值(yyyy-MM-ddTHH:mm:SS)进行搜索?

4

2 回答 2

1

根据我对 ElasticSearch 的日期格式文档的了解,它将始终接受格式给定格式的输入旁边的毫秒自纪元输入,并且它将使用给定的(第一个)格式生成字符串输出。如果您不提供格式,则将使用“date_optional_time”格式(yyyy-MM-dd'T'HH:mm:ss.SSSZZ)。

如果您的时区有问题,您需要为 ElasticSearch 提供您想要的格式。

于 2014-01-14T11:45:41.433 回答
0

我手头没有代码,但在我的测试中,我相信我设法做到了以下几点:

我使用字段上的日期格式化程序和查询字段定义来执行此操作:

curl -XGET 'http://localhost:9200/twitter/tweet/1?fields=title,date_field.date_time'

使用此处指定的日期格式:http ://www.elasticsearch.org/guide/reference/mapping/date-format/

如果您想要返回完整的文档,这可能会很麻烦。在这种情况下,是否可以使用别名“视图”映射来获得与主映射不同的返回结果?可能这已成为一个半答案。

于 2013-04-26T14:00:52.610 回答