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