views:

36

answers:

0

I am retrieving facet counts against a specific column in my index and these look accurate. The query for retrieving these counts is also running a dismax search using the q param (against 4 columns in my index, 1 of which I am facet counting on as mentioned above).

So far, so good. I show my search results, I show my facets and associated counts.

However, I want the user to be able to 'drill-down' by re-running the same search (same q param), but adding in one of the facets to filter the results. Clearly, I can't modify the q parameter to filter against my facetted column (in addition to the previous q value), as dismax wont allow a q param to have a column specified.

So I add a fq param to filter the results by the chosen facet. This seems logical, but the number of search results I get is NOT the same as the count against the facet.

I thought that by adding an fq param I am basically saying (ensuring I keep the q param the same), re-run the search but filter my results where my facetted column has value 'x'.

However as the number of results is not what I am expecting, I believe it may be using the fq param first to define the number of docs against which the q param is subsequently used. But this doesnt seem very intuitive. But it would explain the difference in the facet count and subsequent number of search results that I am observing.

Could someone help point out which of the 2 interpreations of fq is correct?