Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-6276

Add matchCost() api to TwoPhaseDocIdSetIterator

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.4, 6.0
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      We could add a method like TwoPhaseDISI.matchCost() defined as something like estimate of nanoseconds or similar.

      ConjunctionScorer could use this method to sort its 'twoPhaseIterators' array so that cheaper ones are called first. Today it has no idea if one scorer is a simple phrase scorer on a short field vs another that might do some geo calculation or more expensive stuff.

      PhraseScorers could implement this based on index statistics (e.g. totalTermFreq/maxDoc)

        Attachments

        1. LUCENE-6276-NoSpans2.patch
          18 kB
          Paul Elschot
        2. LUCENE-6276-NoSpans.patch
          19 kB
          Paul Elschot
        3. LUCENE-6276-ExactPhraseOnly.patch
          10 kB
          Paul Elschot
        4. LUCENE-6276.patch
          21 kB
          Paul Elschot
        5. LUCENE-6276.patch
          29 kB
          Paul Elschot
        6. LUCENE-6276.patch
          35 kB
          Paul Elschot
        7. LUCENE-6276.patch
          35 kB
          Paul Elschot
        8. LUCENE-6276.patch
          36 kB
          Paul Elschot
        9. LUCENE-6276.patch
          38 kB
          Paul Elschot
        10. LUCENE-6276.patch
          39 kB
          Paul Elschot
        11. LUCENE-6276.patch
          40 kB
          Paul Elschot

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: