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

IW.addIndexes(IndexReader...) -> IW.addIndexes(LeafReader...)

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

    Details

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

      Description

      addIndexes(IndexReader...) is useful to force a single merge that transforms data: you wrap the readers with some logic that alters them.

      But for any use case doing this, they need to work on leaves (LeafReader) to actually do anything.

      Otherwise, for simply merging indexes, allowing addIndexes(IndexReader) is unnecessary and maybe a slight trap, its way faster to call addIndexes(Directory), and it won't force a single slow merge, but will just copy in the relevant files and call maybeMerge().

      Part of the confusion is the two methods have such different behavior that i don't think they should be both be named addIndexes. But lets do that separately, first i want to fix the parameters.

      Long term taking LeafReader here is a simple step towards a more performant api for "merging with filterreader", since its horribly inefficient today.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              rcmuir Robert Muir

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment