Say you keep reusing a boolean filter that looks like "A OR B" and never use the A and B queries out of that boolean query. Currently, after this filter has been used 5 times, we would cache both A, B and "A OR B", which means that cache entries for A and B would only be built for the purpose of building a cache entry for "A OR B", which is wasteful.
By caching compound queries a bit earlier, we could make it less likely to happen since:
- we only consider queries as consumed if a scorer is pulled
- once the boolean query is cached, we stop pulling scorers on the A and B queries