使用ES
2.x使用ES可以做到这一点
pipelineaggregations。首先,我们需要汇总地址。然后,我们使用两种汇总,一种汇总获取最新日期,另一种汇总获取销售状态的最新日期。然后,我们检查两个日期是否都与存储桶选择器聚合匹配。这就是它的样子。
{ "size": 0, "aggs": { "unique_address": { "terms": { "field": "address", "size": 10 }, "aggs": { "latest_date": { "max": { "field": "date" } }, "filter_sold": { "filter": { "term": { "status": "sold" } }, "aggs": { "latest_sold_date": { "max": { "field": "date" } } } }, "should_we_consider": { "bucket_selector": { "buckets_path": { "my_var1": "latest_date", "my_var2": "filter_sold>latest_sold_date" }, "script": "my_var1 == my_var2" } } } } }}希望这可以帮助!!


![如何过滤top_hits指标聚合结果[Elasticsearch] 如何过滤top_hits指标聚合结果[Elasticsearch]](http://www.mshxw.com/aiimages/31/406227.png)
