按聚合脚本排序以获得弹性搜索中的前100个元素

时间:2015-07-24 10:09:28

标签: sorting elasticsearch

我正致力于弹性搜索

对象有几个字段,例如a,b,c

我可以使用a,b,c来计算分数

我需要在分数

上获得前100名元素

问题是我无法在数据库中更新或创建新字段

我最初的想法是把它们全部拉回然后计算,然后排序前100名

但是,由于我的本地主机不够快,所以不可能

有没有办法可以在弹性服务器上编写聚合行来获取前100个元素

1 个答案:

答案 0 :(得分:1)

我对弹性搜索很新,但我会尝试解决这个问题。在旧版本的elasticsearch中,您可以通过使用“facets”来实现这一点,但在当前版本中,这可以通过“aggs”或聚合和“术语”来实现。

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html