Hoss, Thank you for such a succinct explanation! I was not aware of the order of lookups (queryResultCache followed by filterCache). Makes sense now. Sorry for the false alarm!
Rahul On Mon, Apr 20, 2020 at 4:04 PM Chris Hostetter <hossman_luc...@fucit.org> wrote: > : 4) A query with different fq. > : > http://localhost:8984/solr/techproducts/select?q=popularity:[5%20TO%2012]&fq=manu:samsung > ... > : 5) A query with the same fq again (fq=manu:samsung OR manu:apple)....the > : numbers don't get update for this fq hereafter for subsequent searches > : > : > http://localhost:8984/solr/techproducts/select?q=popularity:[5%20TO%2012]&fq=manu:samsung%20OR%20manu:apple > > that's not just *A* query with the same fq, it's the *exact* same request > (q + sort + pagination + all filters) > > Whch means that everything solr needs to reply to this request is > available in the *queryResultCache* -- no filterCache needed at all (if > you had faceting enabled that would be a different issue: then the > filterCache would still be needed in order to compute facet counts over > the entire DocSet matching the query, not just the current page window)... > > > $ bin/solr -e techproducts > ... > > # mostly empty caches (techproudct has a single static warming query) > > $ curl -sS ' > http://localhost:8983/solr/techproducts/admin/mbeans?wt=json&indent=true&category=CACHE&stats=true' > | grep -E > 'CACHE.searcher.(queryResultCache|filterCache).(inserts|hits|lookups)' > "CACHE.searcher.queryResultCache.lookups":0, > "CACHE.searcher.queryResultCache.inserts":1, > "CACHE.searcher.queryResultCache.hits":0}}, > "CACHE.searcher.filterCache.hits":0, > "CACHE.searcher.filterCache.lookups":0, > "CACHE.searcher.filterCache.inserts":0, > > # new q and fq: lookup & insert into both caches... > > $ curl -sS ' > http://localhost:8983/solr/techproducts/select?q=popularity:[5%20TO%2012]&fq=manu:samsung%20OR%20manu:apple' > > /dev/null > $ curl -sS ' > http://localhost:8983/solr/techproducts/admin/mbeans?wt=json&indent=true&category=CACHE&stats=true' > | grep -E > 'CACHE.searcher.(queryResultCache|filterCache).(inserts|hits|lookups)' > "CACHE.searcher.queryResultCache.lookups":1, > "CACHE.searcher.queryResultCache.inserts":2, > "CACHE.searcher.queryResultCache.hits":0}}, > "CACHE.searcher.filterCache.hits":0, > "CACHE.searcher.filterCache.lookups":1, > "CACHE.searcher.filterCache.inserts":1, > > # new q, same fq: > # lookup on both caches, hit on filter, insert on queryResultCache > > $ curl -sS ' > http://localhost:8983/solr/techproducts/select?q=*:*&fq=manu:samsung%20OR%20manu:apple' > > /dev/null > $ curl -sS ' > http://localhost:8983/solr/techproducts/admin/mbeans?wt=json&indent=true&category=CACHE&stats=true' > | grep -E > 'CACHE.searcher.(queryResultCache|filterCache).(inserts|hits|lookups)' > "CACHE.searcher.queryResultCache.lookups":2, > "CACHE.searcher.queryResultCache.inserts":3, > "CACHE.searcher.queryResultCache.hits":0}}, > "CACHE.searcher.filterCache.hits":1, > "CACHE.searcher.filterCache.lookups":2, > "CACHE.searcher.filterCache.inserts":1, > > # same q & fq as before: > # hit on queryresultCache means no filterCache needed... > > $ curl -sS ' > http://localhost:8983/solr/techproducts/select?q=popularity:[5%20TO%2012]&fq=manu:samsung%20OR%20manu:apple' > > /dev/null > $ curl -sS ' > http://localhost:8983/solr/techproducts/admin/mbeans?wt=json&indent=true&category=CACHE&stats=true' > | grep -E > 'CACHE.searcher.(queryResultCache|filterCache).(inserts|hits|lookups)' > "CACHE.searcher.queryResultCache.lookups":3, > "CACHE.searcher.queryResultCache.inserts":3, > "CACHE.searcher.queryResultCache.hits":1}}, > "CACHE.searcher.filterCache.hits":1, > "CACHE.searcher.filterCache.lookups":2, > "CACHE.searcher.filterCache.inserts":1, > > > > -Hoss > http://www.lucidworks.com/ >