0

我正在使用 Solr 4.10,我们的要求是具有多个方面。每个方面应该过滤应该只影响选定的方面,而不是其他方面。

例如,假设有两个方面 BRAND 和 TYPE。当用户选择品牌为 Nikon 时,它应该影响 TYPE 方面,而不是 BRAND 方面。TYPE 的类似行为。

我尝试使用 tag 和 ex 函数实现,查询如下所示,

/select?q=query&wt=json&start=0&rows=10&facet=true&fq={!tag=brand}brand:(Canon,Nikon)&fq={!tag=type}type:(TV)&facet.mincount=1&facet.field={!ex=brand}brand&facet.field={!ex=type}type&fl=id,brand,type

这在大多数情况下都可以正常工作,但是当结果为零时,Solr 会以某种方式返回其中一个方面的方面。对于上面的查询,我得到了一些类型的值,即使响应中没有文档。

以下是我们得到的回应,

{
"response": {
    "numFound": 0,
    "start": 0,
    "docs": []
},
"facet_counts": {
    "facet_queries": {},
    "facet_fields": {
        "type": [
            "TV",
            4
        ],
        "brand": []
    },
    "facet_dates": {},
    "facet_ranges": {},
    "facet_intervals": {}
}

}

4

0 回答 0