Lucene - Core
  1. Lucene - Core
  2. LUCENE-2690

Do MultiTermQuery boolean rewrites per segment

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0-ALPHA
    • Fix Version/s: 4.0-ALPHA
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      MultiTermQuery currently rewrites FuzzyQuery (using TopTermsBooleanQueryRewrite), the auto constant rewrite method and the ScoringBQ rewrite methods using a MultiFields wrapper on the top-level reader. This is inefficient.

      This patch changes the rewrite modes to do the rewrites per segment and uses some additional datastructures (hashed sets/maps) to exclude duplicate terms. All tests currently pass, but FuzzyQuery's tests should not, because it depends for the minimum score handling, that the terms are collected in order..

      Robert will fix FuzzyQuery in this issue, too. This patch is just a start.

      1. LUCENE-2690.patch
        62 kB
        Uwe Schindler
      2. LUCENE-2690.patch
        56 kB
        Uwe Schindler
      3. LUCENE-2690.patch
        49 kB
        Uwe Schindler
      4. LUCENE-2690.patch
        46 kB
        Uwe Schindler
      5. LUCENE-2690.patch
        46 kB
        Uwe Schindler
      6. LUCENE-2690.patch
        46 kB
        Uwe Schindler
      7. LUCENE-2690.patch
        45 kB
        Uwe Schindler
      8. LUCENE-2690.patch
        39 kB
        Robert Muir
      9. LUCENE-2690-attributes.patch
        38 kB
        Uwe Schindler
      10. LUCENE-2690-attributes.patch
        50 kB
        Uwe Schindler
      11. LUCENE-2690-attributes.patch
        50 kB
        Uwe Schindler
      12. LUCENE-2690.patch
        27 kB
        Uwe Schindler
      13. LUCENE-2690.patch
        26 kB
        Simon Willnauer
      14. LUCENE-2690.patch
        26 kB
        Uwe Schindler
      15. LUCENE-2690.patch
        26 kB
        Uwe Schindler
      16. LUCENE-2690.patch
        26 kB
        Simon Willnauer
      17. LUCENE-2690-hack.patch
        23 kB
        Michael McCandless
      18. LUCENE-2690.patch
        19 kB
        Uwe Schindler
      19. LUCENE-2690.patch
        16 kB
        Michael McCandless
      20. LUCENE-2690.patch
        17 kB
        Robert Muir
      21. LUCENE-2690.patch
        13 kB
        Uwe Schindler
      22. LUCENE-2690.patch
        12 kB
        Uwe Schindler

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Uwe Schindler
              Reporter:
              Uwe Schindler
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development