: I feel like I might be missing something, and there is in fact a way to : use a custom HitCollector and benefit from caching, but I just don't see : it now.
I can't think of any easy way to do what you describe ... you can always use the low level IndexSearcher methods with a custom HitCollector that wraps a DocSetHitCollector and then explicitly cache the DocSet yourself, but thta doesn't really help you with the DocList ... there definitely doesn't seem to be an *easy* way to do what you're describing at the moment, but with a little refactoring methods like getDocListAndSet *coult* take in some sort of CompositeHitCollector class with an API like... /** * a HitCollector whose colelct method will delegate to a specified * HitCollector for each match it wants collected */ public abstract class CompositeHitCollector extends HitCollector { public setComposed(HitCollector inner); } ...then the meat and potatoes methods of SolrIndexSearcher could take in your custom written CompositeHitCollector, specify the anonymous inner HitCollector it needs to use for the case it finds itself in, and now you've got a window into the collection process where you can much with scores or igore certain matches. It would be a non trivial change, but it would be possible. -Hoss