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

two phase intersection

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.1, 6.0
    • None
    • None

    Description

      Currently some scorers have to do a lot of per-document work to determine if a document is a match. The simplest example is a phrase scorer, but there are others (spans, sloppy phrase, geospatial, etc).

      Imagine a conjunction with two MUST clauses, one that is a term that matches all odd documents, another that is a phrase matching all even documents. Today this conjunction will be very expensive, because the zig-zag intersection is reading a ton of useless positions.

      The same problem happens with filteredQuery and anything else that acts like a conjunction.

      Attachments

        1. phrase_intersections.tasks
          0.7 kB
          Adrien Grand
        2. LUCENE-6198.patch
          18 kB
          Robert Muir
        3. LUCENE-6198.patch
          34 kB
          Adrien Grand
        4. LUCENE-6198.patch
          37 kB
          Adrien Grand
        5. LUCENE-6198.patch
          38 kB
          Adrien Grand
        6. LUCENE-6198.patch
          41 kB
          Adrien Grand
        7. LUCENE-6198_move_approximation_to_constructor.patch
          18 kB
          David Smiley

        Issue Links

          Activity

            People

              dsmiley David Smiley
              rcmuir Robert Muir
              Votes:
              1 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: