elasticsearch - Elasticsearch:在纪元之前存储和查询日期

标签 elasticsearch epoch

我正在寻找一种能够在Epoch(1970年1月1日)之前存储和查询日期的解决方案。

例如,我试图将December, 25 1969 00:00:00 +0100日期存储到Elasticsearch的索引中。
我想可以将其存储为字符串或整数,但是有什么解决方法可以将字段类型date保留在Elasticsearch的映射中?

最佳答案

您可以肯定地将日期存储在纪元之前,只需存储日期字符串或负数即可。

如果您的索引映射如下所示:

PUT epoch
{
  "mappings": {
    "properties": {
      "my_date": {
        "type": "date"
      }
    }
  }
}

然后,您可以在纪元之前索引文档,如下所示:
PUT epoch/_doc/1
{
  "my_date": -608400
}

PUT epoch/_doc/2
{
  "my_date": "1969-12-25T00:00:00"
}

当搜索日期之前的日期的文档时,两者都将被返回:
POST epoch/_search 
{
  "query": {
    "range": {
      "before": {
        "lt": "1970-01-01"
      }
    }
  }
}

关于elasticsearch - Elasticsearch:在纪元之前存储和查询日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975748/

相关文章:

elasticsearch - Java-Elasticsearch:根据距离排序

elasticsearch - 具有Elasticsearch插件的Couchbase(无法在数据库中找到任何文档)

java - 纪元或 Unix 时间 - Long.MAX_VALUE 人​​类可读日期

python - 如何解决类型错误: cannot convert the series to <type 'float' >

sql - 如何从 Oracle 日期获取 unix 纪元?

java - 此特定格式的时间戳

node.js - 从JavaScript客户端查询字符串查询

python - django elasticsearch 在数据库有记录时给出空记录

elasticsearch - 有效地扫描和查找Elasticsearch索引中的敏感数据

time - 如何将自 Epoch 以来的秒数转换为当前日期和时间?