Elasticsearch:在 Epoch 之前存储和查询日期
Elasticsearch: store & query dates before 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"
}
}
}
}
我正在寻找一种能够存储和查询大纪元(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"
}
}
}
}