ManBearPig is still a threat. -Kallin Nagelberg
-----Original Message----- From: Jonathan Rochkind [mailto:rochk...@jhu.edu] Sent: Tuesday, July 27, 2010 7:44 PM To: solr-user@lucene.apache.org Subject: RE: How to 'filter' facet results > Is there a way to tell Solr to only return a specific set of facet values? I > feel like the facet query must be able to do this, but I'm not really > understanding the facet query. In my specific case, I'd like to only see > facet > values for the same values I pass in as query filters, i.e. if I run this > query: > fq=keyword:man OR keyword:bear OR keyword:pig > facet=on > facet.field:keyword > then I only want it to return the facet counts for man, bear, and pig. The > resulting docs might have a number of different values for keyword, in > addition For the general case of filtering facet values, I've wanted to do that too in more complex situations, and there is no good way I've found. For your very specific use case though, yeah, you can do it with facet.query. Leave out the facet.field, but instead: facet.query=keyword:man facet.query=keyword:bear facet.query=keyword:pig You'll get three facet.query results in the response, one each for man, bear, pig. Solr behind the scenes will kind of do three seperate 'sub-queries', one for each facet.query, but since the query itself should be cached, you shouldn't notice much difference. Especially if you have a warming query that facets on the keyword field (I'm never entirely sure when caches created by warming queries will be used by a facet.query, or if it depends on the facet method in use, but it can't hurt). Jonathan