Elasticsearch嵌套过滤器由Max

时间:2016-03-03 16:35:44

标签: elasticsearch

我在elasticsearch中存储了以下文档:

{
  run_number: 3,
  vendor: v_a,
  data: blah
},
{
  run_number: 2,
  vendor: v_b,
  data: blah
},
{
  run_number: 2,
  vendor: v_b,
  data: blah2
},
{
  run_number: 1,
  vendor: v_a,
  data: blah
},
{
  run_number: 1,
  vendor: v_b,
  data: blah
}

我正在尝试针对此运行搜索查询,该查询返回每个供应商的最近运行的文档。在这个例子中,我想返回前3个文档(因为它们具有给定供应商的max' run_number')。

我目前的查询是:

{
"size": 500,
"aggs": {
    "group_by_vendor": {
        "terms": {
            "field": "vendor"
        },
        "aggs": {
            "max_run_number": {
                "terms": {
                    "field": "run_number",
                    "order": {"_term": "desc"},
                    "size": 1
                }
            }
        }
    }
}
}

但是size_run_number聚合的大小= 1仅限制返回的嵌套存储桶。这仍然会返回所有命中。

1 个答案:

答案 0 :(得分:1)

在这里使用top_hits

2