Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-4571 speedup disjunction with minShouldMatch
  3. LUCENE-4872

BooleanWeight should decide how to execute minNrShouldMatch

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 4.9, 6.0
    • core/search
    • None
    • New

    Description

      LUCENE-4571 adds a dedicated document-at-time scorer for minNrShouldMatch which can use advance() behind the scenes.

      In cases where you have some really common terms and some rare ones this can be a huge performance improvement.

      On the other hand BooleanScorer might still be faster in some cases.

      We should think about what the logic should be here: one simple thing to do is to always use the new scorer when minShouldMatch is set: thats where i'm leaning.

      But maybe we could have a smarter heuristic too, perhaps based on cost()

      Attachments

        1. crazyMinShouldMatch.tasks
          22 kB
          Michael McCandless

        Activity

          People

            Unassigned Unassigned
            rcmuir Robert Muir
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: