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

Do MultiTermQuery boolean rewrites per segment

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.0-ALPHA
    • 4.0-ALPHA
    • None
    • None
    • 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.

      Attachments

        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.patch
          27 kB
          Uwe Schindler
        10. LUCENE-2690.patch
          26 kB
          Simon Willnauer
        11. LUCENE-2690.patch
          26 kB
          Uwe Schindler
        12. LUCENE-2690.patch
          26 kB
          Uwe Schindler
        13. LUCENE-2690.patch
          26 kB
          Simon Willnauer
        14. LUCENE-2690.patch
          19 kB
          Uwe Schindler
        15. LUCENE-2690.patch
          16 kB
          Michael McCandless
        16. LUCENE-2690.patch
          17 kB
          Robert Muir
        17. LUCENE-2690.patch
          13 kB
          Uwe Schindler
        18. LUCENE-2690.patch
          12 kB
          Uwe Schindler
        19. LUCENE-2690-attributes.patch
          38 kB
          Uwe Schindler
        20. LUCENE-2690-attributes.patch
          50 kB
          Uwe Schindler
        21. LUCENE-2690-attributes.patch
          50 kB
          Uwe Schindler
        22. LUCENE-2690-hack.patch
          23 kB
          Michael McCandless

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            uschindler Uwe Schindler
            uschindler Uwe Schindler
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment