On Fri, Nov 6, 2015 at 3:12 PM, Jack Krupansky <jack.krupan...@gmail.com> wrote:
> Just to be clear, I was suggesting that the filter query (fq) was slow

That's a possibility.  Filters were actually removed in Lucene, so
it's a very different code path now.

In 4.10, filters were first class, and SolrIndexSearcher used methods like:
    search(query, pf.filter, collector);
And BitSet based filters were pushed down to the leaves of a query
(which the filter generated from MatchAllDocsQuery would have been).

At some point, those were changed to use FilteredQuery instead.  But I
think at some point prior Lucene converted a Filter to a
FilteredQuery, so that change in Solr may not have mattered at that
point.

Then in LUCENE-6583, Filters were removed and the code in
SolrIndexSearcher was changed to use a BooleanQuery:
   if (pf.filter != null) {
      Query query = new BooleanQuery.Builder()
          .add(main, Occur.MUST)
          .add(pf.filter, Occur.FILTER)
          .build();
      search(query, collector);

So... lots of changes over time, no idea which (if any) is the cause.

-Yonik

Reply via email to