AND/OR/NOT/SUBTRACT combinations for filters would certainly be a
useful feature.

On Wed, Jan 5, 2011 at 11:36 PM, Em <mailformailingli...@yahoo.de> wrote:
>
> Thank you Jonathan.
>
> "fq=foo:bar&fq=foo:baz" seems to be the better alternative for "fq=foo:bar
> AND foo:baz" if "foo:bar" and "foo:baz" were often used in different
> combinations (not always together).
>
> However, in most of the usecases I can think of, an "fq=foo:bar OR
> foo:baz"-behaviour is expected and it would be nice if this fq would benefit
> from a cached "fq=foo:bar".
>
> I can imagine why this is not the case, if only one of two fq-clauses were
> cached.
> However, when "foo:bar" and "foo:baz" were cached seperately, why not
> benefiting from them when a "fq=foo:bar OR foo:baz" or "fq=foo:bar AND
> foo:baz" is requested?
>
> Who is responsible for putting fq's in the filterCache? I think one has to
> modify the logic of that class do benefit from already cached but recombined
> filterCaches.
> This would have a little bit less performance than caching the entire
> "foo:bar AND foo:baz" BitVector, since you need to reproduce one for that
> special use-case, but I think the usage of the cache is far more efficient,
> if "foo:bar" and "foo:baz" occur very frequently but "foo:bar AND foo:baz"
> do not.
>
> What do you think?
>
> Regards
>
>
> Jonathan Rochkind wrote:
>>
>> Each 'fq' clause is it's own cache key.
>>
>> 1. fq=foo:bar OR foo:baz
>>      => one entry in filter cache
>>
>> 2. fq=foo:bar&fq=foo:baz
>>     => two entries in filter cache, will not use cached entry from #1
>>
>> 3. fq=foo:bar
>>   => One entry, will use cached entry from #2
>>
>> 4. fq=foo:bar
>>    => One entry, will use cached entry from #2.
>>
>> So if you do queries in succession using each of those four fq's in
>> order, you will wind up with 3 entries in the cache.
>>
>> Note that "fq=foo:bar OR foo:baz" is not semantically identical to
>> "fq=foo&fq=bar".  Rather that latter is semantically identical to
>> "fq=foo:bar AND foo:baz".   But "fq=foo&fq=bar" will be two cache
>> entries, and "fq=foo:bar AND foo:baz" will be one cache entry, and the
>> two won't share any cache entries.
>>
>>
>> On 1/5/2011 3:17 PM, Em wrote:
>>> Hi,
>>>
>>> while reading through some information on the list and in the wiki, i
>>> found
>>> out that something is missing:
>>>
>>> When I specify a filter queries like this
>>>
>>> fq=foo:bar OR foo:baz
>>> or
>>> fq=foo:bar&fq=foo:baz
>>> or
>>> fq=foo:bar
>>> or
>>> fq=foo:baz
>>>
>>> How many filter query entries will be cached?
>>> Two, since there are two filters (foo:bar, foo:baz) or 3, since there are
>>> three different combinations (foo:bar OR foo:baz, foo:bar, foo:baz)?
>>>
>>> Thank you!
>>
>>
>
> Jonathan Rochkind wrote:
>>
>> Each 'fq' clause is it's own cache key.
>>
>> 1. fq=foo:bar OR foo:baz
>>      => one entry in filter cache
>>
>> 2. fq=foo:bar&fq=foo:baz
>>     => two entries in filter cache, will not use cached entry from #1
>>
>> 3. fq=foo:bar
>>   => One entry, will use cached entry from #2
>>
>> 4. fq=foo:bar
>>    => One entry, will use cached entry from #2.
>>
>> So if you do queries in succession using each of those four fq's in
>> order, you will wind up with 3 entries in the cache.
>>
>> Note that "fq=foo:bar OR foo:baz" is not semantically identical to
>> "fq=foo&fq=bar".  Rather that latter is semantically identical to
>> "fq=foo:bar AND foo:baz".   But "fq=foo&fq=bar" will be two cache
>> entries, and "fq=foo:bar AND foo:baz" will be one cache entry, and the
>> two won't share any cache entries.
>>
>>
>> On 1/5/2011 3:17 PM, Em wrote:
>>> Hi,
>>>
>>> while reading through some information on the list and in the wiki, i
>>> found
>>> out that something is missing:
>>>
>>> When I specify a filter queries like this
>>>
>>> fq=foo:bar OR foo:baz
>>> or
>>> fq=foo:bar&fq=foo:baz
>>> or
>>> fq=foo:bar
>>> or
>>> fq=foo:baz
>>>
>>> How many filter query entries will be cached?
>>> Two, since there are two filters (foo:bar, foo:baz) or 3, since there are
>>> three different combinations (foo:bar OR foo:baz, foo:bar, foo:baz)?
>>>
>>> Thank you!
>>
>>
>
> --
> View this message in context: 
> http://lucene.472066.n3.nabble.com/FQ-Filter-Query-Caching-Differences-with-OR-and-AND-tp2201004p2204235.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>



-- 
Lance Norskog
goks...@gmail.com

Reply via email to