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!