No problem, Mike. Glad you got it sorted out.

Trey Grainger
Co-author, Solr in Action
Director of Engineering, Search & Analytics @ CareerBuilder


On Sun, Apr 27, 2014 at 7:23 PM, Michael Sokolov <
msoko...@safaribooksonline.com> wrote:

> On 4/27/14 7:02 PM, Michael Sokolov wrote:
>
>> On 4/27/2014 6:30 PM, Trey Grainger wrote:
>>
>>> So my question basically is: which restrictions are applied to the docset
>>>>>
>>>> from which (field) facets are computed?
>>>
>>> Facets are generated based upon values found within the documents
>>> matching
>>> your "q=" parameter and also all of your "fq=" parameters. Basically, if
>>> you do an intersection of the docsets from all "q=" and "fq=" parameters
>>> then you end up with the docset the facet calculations are based upon.
>>>
>>> When you say "if I add type=book, *no* documents match, but I get facet
>>> counts: { chapter=4 }", I'm not exactly sure what you mean. If you are
>>> adding "q=toto&type=book&facet=true&facet.field=type" then the problem
>>> is
>>> that the "type=book" parameter doesn't do anything... it is not a valid
>>> Solr parameter for filtering here. In this case, all 4 of your documents
>>> matching the "q=toto" query are still being returned, which is why the
>>> facet count for chapters is 4.
>>>
>> In fact my query looks like:
>>
>> q=fulltext_t%3A%28toto%29+AND+dc_type_s%3A%28book%29+%
>> 2Bdirectory_b%3Afalse&start=0&rows=20&fl=uri%2Ctimestamp%
>> 2Cdirectory_b%2Csize_i%2Cmeta_ss%2Cmime_type_ss&facet.field=dc_type_s
>>
>> or without url encoding:
>>
>>  q=fulltext_t:(toto) AND dc_type_s:(book) (directory_b:false)
>> facet.field=dc_type_s
>>
>> default operator is AND
>>
>>  ... so I don't think that the query is broken like you described?
>>
>> -Mike
>>
> OK the problem wasn't with the query, but while I tried to write out a
> clearer explanation, I found it -- an issue in a unit test too boring to
> describe.  Facets do seem to work like you said, and how they're
> documented, and as I assumed they did :)
>
> Thanks, and sorry for the noise.
>
> -Mike
>

Reply via email to