Collapse简述
使用collapse参数可以基于字段值去折叠搜索结果。 对于某个字段值相同的文档,排序后将保留排在前面的文档,后面的相同字段值的文档将被折叠。
注意
- 使用Collapse折叠后,es响应中的hits.total的总响应数不是折叠后的总total,还是折叠前的总total
- 用于折叠的字段,必须是keyword或者numeric
- 如果想获取折叠后的总数,需要使用cardinality进行聚合
Java使用Collapse
SearchSourceBuilder builder = new SearchSourceBuilder();
CollapseBuilder collapseBuilder = new CollapseBuilder("word.keyword");
builder.collapse(collapseBuilder);