【发布时间】:2019-02-04 03:08:18
【问题描述】:
在我的电子商务商店中,我只想在最终结果中包含每个组中的第一项(按 item_id 分组)。同时我不想丢失我的聚合(属性旁边的小数字表示找到了多少具有该属性的项目)。
这是一个小例子:
假设我搜索项目并且只有 25 个出现。这是我目前得到的颜色聚合的结果:
- 黑色 (65)
- 绿色 (32)
- 白色 (13)
我希望它是:
- 黑色 (14)
- 绿色 (6)
- 白色 (5)
数字应该等于用户在页面上实际看到的总数。
如何使用 Elasticsearch 实现这一目标?我已经尝试过分组(热门点击)和字段折叠,但似乎都不适合我的用例。 Solr 几乎默认使用它的 Grouping 功能来做到这一点。
【问题讨论】:
-
我认为您正在寻找刻面。您需要检查 id 弹性搜索是否具有分面功能...madewithlove.be/faceted-search-using-elasticsearch
-
是的,因为这是我目前在 Solr 中使用的,但不幸的是,在 Elasticsearch 中,构面已被聚合替换。
-
好的。我不知道这个...
标签: elasticsearch search solr search-engine