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