On Wed, 2015-08-19 at 05:55 +0000, Maulin Rathod wrote:
> SLOW WITH FILTER QUERY (takes more than 1 second)
> ============================================
> 
> q=+recipient_id:(4042) AND project_id:(332) AND resource_id:(13332247 
> 13332245 13332243 13332241 13332239) AND entity_type:(2) AND -action_id:(20 
> 32) ==> This returns 5 records
> fq=+action_status:(0) AND is_active:(true) ==> This Filter Query returns 
> 9432252 records

The fq is evaluated independently of the q: For the fq a bitset is
allocated, filled and stored in cache. Then the q is evaluated and the
two bitsets are merged.

Next time you use the same fq, it should be cached (if you have caching
enabled) and be a lot faster.


Also, if you ran your two tests right after each other, the second one
benefits from disk caching. If you had executed them in reverse order,
the q+fq might have been the fastest one.

- Toke Eskildsen, State and University Library, Denmark


Reply via email to