步骤: 1. 在映射中定义一个日期字段。
2. 在该字段中插入一个纪元毫秒(长)值。
弹性搜索能否返回该字段的字符串值(yyyy-MM-ddTHH:mm:SS)进行搜索?
步骤: 1. 在映射中定义一个日期字段。
2. 在该字段中插入一个纪元毫秒(长)值。
弹性搜索能否返回该字段的字符串值(yyyy-MM-ddTHH:mm:SS)进行搜索?
根据我对 ElasticSearch 的日期格式文档的了解,它将始终接受格式给定格式的输入旁边的毫秒自纪元输入,并且它将使用给定的(第一个)格式生成字符串输出。如果您不提供格式,则将使用“date_optional_time”格式(yyyy-MM-dd'T'HH:mm:ss.SSSZZ)。
如果您的时区有问题,您需要为 ElasticSearch 提供您想要的格式。
我手头没有代码,但在我的测试中,我相信我设法做到了以下几点:
我使用字段上的日期格式化程序和查询字段定义来执行此操作:
curl -XGET 'http://localhost:9200/twitter/tweet/1?fields=title,date_field.date_time'
使用此处指定的日期格式:http ://www.elasticsearch.org/guide/reference/mapping/date-format/
如果您想要返回完整的文档,这可能会很麻烦。在这种情况下,是否可以使用别名“视图”映射来获得与主映射不同的返回结果?可能这已成为一个半答案。