如何触发单个查询以获取以下按月到日期的用户数索引:user(公司中所有用户的列表)
users who joined this month (month till date - i.e. in Nov)
users who joined previous month (say Oct)
...
users who joined on second month (say Feb)
users who joined on first month (say Jan)
有没有一个快速的方法来获取所有信息使用一个单一的查询,我想看到一个响应,其中包含所有信息检索到一个单一的查询?
1条答案
按热度按时间a64a0gku1#
如果我理解你的问题,我建议你使用
date histogram
与范围查询一起聚合。gte
代表greater than or equal to
而lte
代表less than or equal to
.我首先指定我在这个例子中需要的范围
Nov 2020
至Jan 2020
. 基于这个结果,我将以one month
.我假设在索引中为每个用户创建一个文档。
我在索引中索引了以下数据:
我使用的查询:
答案是:
这个
doc_count
我想这就是你需要的。如果你需要帮助,请告诉我,我很乐意帮助你。
链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html