我正在使用elasticsearch java客户端,我想知道有多少不同的项目项目与一个组合匹配。我目前正在使用这样的方面:
client.prepareSearch(indexName)
.addFacet(Efb.termsFacet("hotels")
.field("hotel.specialCode")
.script("term + ';;;' + _source.hotel.name + ';;;' + _source.offer.destinationId")
.facetFilter(filter)
.size(50))
然后我使用了总数:
case tf: TermsFacet =>
val entries = tf.getEntries
val totalHotels = entries.size()
这是错误的,因为我要求退回的总数,在我的查询中我限制为50 - 所以这个数字永远不会超过50。
如何获得facet的总数,而不必将它们全部拉回到内存中?或者有更好的方法在弹性搜索中执行等效的SQL GROUP BY和COUNT吗?