如何按术语限制弹性搜索的结果

时间:2015-01-21 19:18:44

标签: elasticsearch

我正在查询Elasticsearch以获取50个匹配网站的列表。理想情况下,我希望从50个不同的网站获得50个相关的匹配。

我的问题是,有时搜索结果主要包含来自一个网站的匹配。

是否可以创建一个返回50个结果的查询,这些结果对于存储网站名称的字段都是唯一的?

1 个答案:

答案 0 :(得分:0)

最简单和最好的方法是使用热门命中聚合器:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html

我在热门聚合器之前使用的方法肯定是一个黑客攻击,但令人惊讶的是效果很好。只需查询所需文档数量的10倍并向客户端崩溃,最好使用节点客户端来减少可能更大的有效负载的网络开销。