查询昨天至今天
在es里面用“now-1w/d”表达从当前时间开始往前推一个星期(1 week),如果要查询近一周的数据可以用以下方式表达
"gte": "now-1w/d",
"lte":"now"
其中
gte 代表 “greater than or equal to”,表示大于或等于指定的日期值。
lte 代表 “less than or equal to”,表示小于等于指定的日期值。
具体的代码可以参考下面:
GET your_index/_search
{
"query": {
"bool": {
"filter": {
"range": {
"your_date_field": {
"gte": "now-1w/d",
"lte": "now"
}
}
}
}
}
}
查询上周数据
在es里面用“now-1w/w”表示,使用 now-1w/w 表示的意思是从当前时间开始往前推一个星期(1 week),然后将这个时间范围调整为该星期的第一天(周一)的时间戳。用以下方式表达
"gte": "now-1w/w",
"lt":"now-1w/w+7d"
其中
gte 代表 “greater than or equal to”,表示大于或等于指定的日期值。
lt 代表 “less than”,表示小于指定的日期值。
也可以用以下方式表达
"gte": "now-1w/w",
"lte":"now-1w/w+6d"
具体的代码可以参考下面:
GET your_index/_search
{
"query": {
"bool": {
"filter": {
"range": {
"your_date_field": {
"gte": "now-1w/w",
"lt": "now-1w/w+7d"
}
}
}
}
}
}