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

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 4.9, 6.0
    • Component/s: core/search
    • Labels:
      None
    • Lucene Fields:
      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

            • Assignee:
              Unassigned
              Reporter:
              rcmuir Robert Muir
            • Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated: