Solr
  1. Solr
  2. SOLR-1165

use skipping on filters to improve search performance

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4
    • Component/s: None
    • Labels:
      None

      Description

      Solr should use filters to skip scorers to improve search performance.

      1. SOLR-1165.patch
        12 kB
        Yonik Seeley

        Issue Links

          Activity

          Hide
          Grant Ingersoll added a comment -

          Bulk close for Solr 1.4

          Show
          Grant Ingersoll added a comment - Bulk close for Solr 1.4
          Hide
          Yonik Seeley added a comment -

          committed.

          Show
          Yonik Seeley added a comment - committed.
          Hide
          Yonik Seeley added a comment -

          OK, here's the patch to use Lucene Filters with the search methods so that filtering is done before score() is called and filter/scorer leapfrogging is done, lowering the cost for expensive scorers.

          I'll commit soon.

          Show
          Yonik Seeley added a comment - OK, here's the patch to use Lucene Filters with the search methods so that filtering is done before score() is called and filter/scorer leapfrogging is done, lowering the cost for expensive scorers. I'll commit soon.
          Hide
          Yonik Seeley added a comment -

          OK, now that the two sub-issues related to DocSets and Filters are ironed out, we can move on to restructuring the search code in SolrIndexSearcher to use lucene Filters and the new Lucene Collector classes.

          Show
          Yonik Seeley added a comment - OK, now that the two sub-issues related to DocSets and Filters are ironed out, we can move on to restructuring the search code in SolrIndexSearcher to use lucene Filters and the new Lucene Collector classes.
          Hide
          Yonik Seeley added a comment - - edited

          Leapfrogging a filter and a scorer has been done in Lucene since 2.4.
          We'll get it for free if we start using a Lucene Filter (which means we need the docids in sorted order)

          The other benefit of using Filter is that score() won't be called for items that don't match the filter... important for expensive functions (like geo distance functions, etc).

          Show
          Yonik Seeley added a comment - - edited Leapfrogging a filter and a scorer has been done in Lucene since 2.4. We'll get it for free if we start using a Lucene Filter (which means we need the docids in sorted order) The other benefit of using Filter is that score() won't be called for items that don't match the filter... important for expensive functions (like geo distance functions, etc).

            People

            • Assignee:
              Yonik Seeley
              Reporter:
              Yonik Seeley
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development