Elasticsearch:搜索项目集而不是项目

时间:2018-03-09 08:45:44

标签: elasticsearch

我创建了一个网站,用于记录用户操作:访问页面,下载文档,登录等。每个操作都有时间戳,附加到用户并在Elasticsearch中编入索引

我想识别这些行动中的预定义模式。例如:

  • 查找过去3周访问此页面,此页面并下载了2个文档的用户
  • 查找在同一天登录并访问过至少5页的用户

我遇到的问题是我总是使用ES来查找符合标准的项目,但从不找到一组项目。

你将如何开始解决这个问题? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

对于第二个查询,我建议聚合(如SQL GROUP BY):计算每个用户和每天聚合的页面访问次数。 然后在这些聚合结果上添加条件(如SQL HAVING)

为了过滤聚合结果,我发现了这个(未经过测试或试图理解:): https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-pipeline-bucket-selector-aggregation.html

希望有所帮助