Solr的面查询过滤

问题描述:

我试图在制造商领域建立一个方面查询时,搜索词=“LENS”,而是要消除所有这些制造商在没有镜头..Solr的面查询过滤

例如: - 我需要下面的输出,但要消除“柯达”,因为没有从厂家镜头....

"facet_fields": { 
    "manu" : [ 
    "Canon USA": 25, 
    "Olympus": 21, 
    "Sony": 12, 
    "Panasonic": 9, 
    "Nikon": 4, 
    "Kodak":0 
    ], 

http://localhost/solr/collection1/select?q=lens&rows=0&wt=json&indent=true&facet=true&facet.query=lens&facet.field=manu 

不会产生正确的结果

+1

你会得到什么结果,你期望什么?柯达不在您提供的示例中。 – MatsLindh 2014-09-13 19:04:47

+0

@Mats:我编辑了结果...柯达实际上已设置为零..我想知道是否可以过滤来自方面查询的结果... – user1050619 2014-09-13 19:45:28

您可以使用facet.mincount只检索小键具有高于某个阈值的值。默认情况下这是0。

facet.mincount=1 

您也可以在每个字段的基础上提供价值,如果你在一个请求做多方面,f.manu.facet.mincount=1

此外,当您已经执行与实际查询相同的查询时,不应该需要执行facet.query。如果您想在查询已返回的相同文档集中对某个方面执行任意查询,那么facet.query很有用。