Okay I think I found it. Let me know if this makes sense (also for
those curious about this).
1) The IndexSearcher will create a FilteredQuery using the
RANDOM_ACCESS_STRATEGY by default (IndexSearcher#wrapFilter).
2) When the searcher requests the scorer, the FilteredQuery uses the
FilterStrateg
Thanks. So I was poking through this and see that the filters are
calculated up front and stored as docsets that get intersected and
passed into Lucene in the filter. The question though is that
somewhere in the IndexSearcher and somewhere into the scorer it does
this but I can't quite find where.
Amit,
Sure. this method
https://github.com/apache/lucene-solr/blob/trunk/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java#L796beside
some other stuff calculates fq's docset intersection which is
supplied into filtered search call
https://github.com/apache/lucene-solr/blob/trunk/sol