如果你有两个方面,让我们说类别和标签,最初计数是正确的,但在过滤其中一个方面后它们不会下降。我们的想法是,如果类别X中没有带有标记Y的记录,并且我们按类别X进行过滤,则标记Y的面数应为0.当然,其他方面计数在同一项(其他类别)方面计数不会下降,因为它们是OR而不是AND。我希望这是有道理的,非常感谢任何帮助。
答案 0 :(得分:1)
你是如何过滤你的方面的?喜欢这个?
GET /_search
{
"query": {.....},
"filter": { "term": { "some_field": "some_value"}},
"facets: {.....}
}
如果是这样,那就不足为奇了。顶级filter
参数用于在计算小平面后过滤搜索结果。事实上,在1.0中,由于这种混淆,它已被重命名为post_filter
。
您想要使用filtered
查询:
GET /_search
{
"query": {
"filtered": {
"query": {.....},
"filter": { "term": { "some_field": "some_value"}}
}
},
"facets: {.....}
}