据观察,lte和gte都采用下限值。如何使它获取lte的上限和gte的下限?
这是我查询的外观
{
"from": 0,
"size": 40,
"query": {
"filtered": {
"filter": {
"bool": {
"should": [
{
"range": {
"CreatedOn": {
"lte": "201505",
"gte": "201404",
"format": "yyyyMM"
}
}
}
]
}
}
}
}
}
以上查询不会返回有效文件,例如" 2015-05-06T12:55:34.44"," 2015-05-26T14:42:24.963"它只返回" 2015-05-01T11:42:24.963"来自lte 201505
答案 0 :(得分:0)
201404
表示2014年4月1日201505
表示2015年5月1日这就是你得到那个结果的原因。
Elasticsearch"翻译"在后台,您的查询范围为1396310400000 TO 1430524799999
,意为01 Apr 2014 00:00:00 GMT TO 01 May 2015 23:59:59 GMT
。
如果您想要在2014年4月的整月和2015年5月的整个月之间进行所有操作,请使用以下内容:
"range": {
"createdOn": {
"lte": "201506||-1d/d",
"gte": "201404",
"format": "yyyyMM"
}
}