我正在寻找一种能够在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/