lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Heisey <>
Subject Re: &(fq=field1:val1 AND field2:val2) VS &fq=field1:val1&fq=field2:val2 and filterCache
Date Fri, 02 Dec 2011 01:08:32 GMT
On 12/1/2011 8:01 AM, Antoine LE FLOC'H wrote:
> Is there any difference in the way things are stored in the filterCache if
> I do
> &(fq=field1:val1 AND field2:val2)
> or
> &fq=field1:val&fq=field2:val2
> eventhough these are logically identical ? What get stored exactly ? Also
> can you point me to where in the Solr source code this processing happens ?

Your first example would result in one entry in filterCache, probably 
for "+field1:val1 +field2:val2" which is what the parser ultimately 
reduces the query to.  Your second example will result in two separate 
entries in filterCache.

The second example takes more cache space, but it is also more 
reusable.  If you started with a clean cache and sent 
"&fq=field2:val2&field3:val3" immediately after sending your second 
example, one of the filter queries would be satisfied from the cache, so 
Solr would use fewer resources on the query as a whole.  If you sent 
your first example and then "&fq=(field2:val2 AND field3:val3)" there 
would be no speedup from the cache, because the new query wouldn't match 
the previous one at all.


View raw message