【发布时间】:2020-09-06 15:39:56
【问题描述】:
我有一个包含两个字段的 Elasticsearch 索引“会话”:
"user_id" : {
"type" : "keyword"
},
"login_at" : {
"type" : "date"
}
每次用户登录时,都会创建一条带有 user_id 和当前时间戳的新记录。
我想列出一周未登录的所有用户。我知道如何获取每个用户的最后登录时间:
GET sessions/_search
{
"size": 0,
"aggs": {
"user_aggs": {
"terms": {
"field": "user_id",
"order": {
"last_access": "asc"
}
},
"aggs": {
"last_access": {
"max": {
"field": "login_at"
}
}
}
}
}
}
上面的查询列出了所有用户及其上次登录时间。
如何将“last_access”字段过滤为小于 now-7d 的值?
【问题讨论】:
标签: elasticsearch