【发布时间】:2018-08-28 06:19:58
【问题描述】:
我正在使用用于聚合的 Elasticsearch 制作产品类别页面。据我所知,ES只能做“_count”、“_term”和通过子聚合来对DSL的聚合结果进行排序。
我的聚合字段是一个字符串字段,未进行分析,但包含“23 EU, 24 EU, 23 Toddler, etc..”等文档。
这是我使用 elastic-builder 包的代码 sn-p
"aggs":{
"ProductFilters.Size":{
"terms":{
"field":"ProductFilters.Size",
"size":52,
"order":{
"_term":"asc"
}
}
},
"ProductFilters.Size_count":{
"cardinality":{
"field":"ProductFilters.Size"
}
}
}
然而,这段代码会产生这样的结果。我希望这个结果的生成方式就像人类想要的不是 1 之后的 10 而是 2 的方式。
- 1 美国青年 (38)
- 1 青年(3)
- 10 幼儿 (3)
- 10 个美国幼儿 (48)
- 11 幼儿 (3)
- 2 美国青年 (37)
是否可以使用 ElasticSearch 对聚合进行自然排序?
【问题讨论】:
标签: javascript elasticsearch elasticsearch-aggregation