: headings from a given result set, you'd first test all the first-tier : facets like "Body, Human", then where warranted test the associated : second-tier facets like "Body, Human--Social aspects.". If the : first-tier facets represent a small enough subset of the set of subject : headings as a whole, that might be enough to reduce the total number of : facet tests.
that's exactly the type of thing i'm suggesting -- the trick would be to size your caches so that the first-tier constraints were pretty much always cached, and the popular second-tier constraints are usually cached -- but once you get to the second or third tiers the number of possible constraints is small enough that even if they aren't cached, you can compute their counts in a resonable amount of time. a really cach concious RequestHandler could even use the non caching SolrIndexSearcher methods if it knew it was dealing with a really low tier constraint (allthough at that point, spending the time to implement a Cache implementation with an approximate LFU replacement strategy instead of LRU would probably be a more robust use of engineering resources) -Hoss