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

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

    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
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: