我创建了一个索引,它保存了两个日期(D1,D2),之后我想查询这个时间是否在 D1 和 D2 之间,所以我查询:
startdate <= "2019-08-22T03:55:47.165Z" AND endate>= "2019-08-22T03:55:47.165Z"
它成功地返回了我想要的数据,所以我尝试在开发工具中再次做同样的事情:
GET i_want_get_date/_search
{
"query":{
"query_string":{
"query":"startdate<= \"2019-08-22T03:55:47.165Z\" AND enddate>= \"2019-08-22T03:55:47.165Z\""
}
}
}
问题是:
它无法搜索任何结果,查询无法使用此方法比较日期
有什么建议吗?谢谢!
==================================================== ==========
感谢Val回答问题,我使用了一个非常简洁的查询来执行相同的功能,我更改了一点查询语法以使其工作:
GET i_want_get_date/_search
{
"query": {
"bool": {
"filter": [
{
"range": {
"startdate":{
"lte":"2019-08-22T03:55:47.165Z"
}
}
},
{
"range": {
"enddate":{
"gte":"2019-08-22T03:55:47.165Z"
}
}
}
]
}
}
}