我有一个索引,其字段的映射如下:
"ts": {
"index": "not_analyzed",
"type": "date"
},
我尝试了两个几乎相同的查询并得到了不同的结果。
首先
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"or": {
"filters": [
{
"range": {
"ts": {
"from": 1414799400000,
"to": 1414799999000
}
}
}
]
}
}
}
}
}
都给:
"hits": {
"total": 1934514,
"max_score": 0,
"hits": []
}
第二
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"or": {
"filters": [
{
"range": {
"ts": {
"from": "2014-10-31T23:00:00",
"to": "2014-10-31T23:59:59"
}
}
}
]
}
}
}
}
}
都给:
"hits": {
"total": 11333856,
"max_score": 0,
"hits": []
}
Weren他们应该返回相同的结果吗?
答案 0 :(得分:0)
使用epoch_converter提供的时间戳和日期时间不等同。
1414799400000 => Fri, 31 Oct 2014 23:50:00 GMT]
1414799999000 => Fri, 31 Oct 2014 23:59:59 GMT
使用datetime的范围查询是: 2014-10-31T23:00:00 2014-10-31T23:59:59
简而言之,这两个范围并不相同。