Solr 8.8
我有一个典型的 group
配置来聚合文档。
group=true&group.field=group_key&group.limit=-1
对于 group
级别的每个方面值的方面计数,我使用的是 JSON facet API:
{
"height":{
"field":"height",
"mincount":1,
"limit":-1,
"facet":{
"facet_count":"unique(group_field)"
},
"domain":{
"excludeTags":"height"
},
"type":"terms"
}
}
说明 此代码允许我查看特定方面的分组项目数。每个组只能将一个 facet 计数加 1。例如,如果一个产品有 3 个变体 - 2 个绿色和 1 个红色,则 Green 的 facet 计数将为 1,而 Red 的计数将为 1。
如何查询一个方面的所有值的分组文档总数?
澄清 我正在查询 Solr 以获取特定文档集最受欢迎的方面。例如,对于“dishwasher”的文本搜索,将返回 100 个(分组的)产品。这些产品中有多少对 Color 具有真实价值?如果 60 种产品具有 Color 值,则 Color 方面非常重要,可以向用户展示。
对于非分组的文档,我可以使用 countvals
或 missing
进行查询(请参阅 docs):
{
"height":{
"field":"height",
"mincount":1,
"limit":-1,
"facet":{
"countvals":"countvals(height)",
"missing":"missing(height)",
},
"domain":{
"excludeTags":"height"
},
"type":"query"
}
}