疲劳是最舒适的枕头,努力工作吧。

请教下怎样限定查询结果中,拥有相同字段值的结果,最多返回x条。

Elasticsearch | 作者 artaime | 发布于2021年01月15日 | 阅读数:1114

举个栗子
 
假设从现有数据中搜索螺狮粉,京东、淘宝、唯品会各有1000个商品符合搜索条件
 
而我的实际场景是希望:
       来自京东的数据限定为最多 500 条(权重最高),
       淘宝最多 300 条
       唯品会最多 200 条。
       ··· 最多 ··· x 条
 
补充:
  • 查询事先并不知道存在哪些购物网站,即数据里包含非常多购物网站
  • 如果不做限制,召回结果中来自相同网站的结果可能非常多
  • 选择来自相同网站最匹配的前 n 条结果,最多不超过 x 条

 
已知通过聚合 top_hits 可实现,现在想问下是否有不通过聚合的方法(数据量大耗时)来实现!
 
抱拳!!!
 
已邀请:

要回复问题请先登录注册