Lucene - Core
  1. Lucene - Core
  2. LUCENE-1585

Allow to control how payloads are merged


    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.1, 4.0-ALPHA
    • Component/s: core/index
    • Labels:
    • Lucene Fields:
      New, Patch Available


      Lucene handles backwards-compatibility of its data structures by
      converting them from the old into the new formats during segment

      Payloads are simply byte arrays in which users can store arbitrary
      data. Applications that use payloads might want to convert the format
      of their payloads in a similar fashion. Otherwise it's not easily
      possible to ever change the encoding of a payload without reindexing.

      So I propose to introduce a PayloadMerger class that the SegmentMerger
      invokes to merge the payloads from multiple segments. Users can then
      implement their own PayloadMerger to convert payloads from an old into
      a new format.

      In the future we need this kind of flexibility also for column-stride
      fields (LUCENE-1231) and flexible indexing codecs.

      In addition to that it would be nice if users could store version
      information in the segments file. E.g. they could store "in segment _2
      the term a:b uses payloads of format x.y".

      1. LUCENE-1585_3x.patch
        24 kB
        Shai Erera
      2. LUCENE-1585_trunk.patch
        18 kB
        Shai Erera
      3. LUCENE-1585_3x.patch
        19 kB
        Shai Erera
      4. LUCENE-1585_3x.patch
        22 kB
        Shai Erera
      5. LUCENE-1585_3x.patch
        23 kB
        Shai Erera
      6. LUCENE-1585_3x.patch
        22 kB
        Shai Erera
      7. LUCENE-1585_trunk.patch
        24 kB
        Shai Erera
      8. LUCENE-1585_trunk.patch
        24 kB
        Shai Erera


        No work has yet been logged on this issue.


          • Assignee:
            Shai Erera
            Michael Busch
          • Votes:
            0 Vote for this issue
            0 Start watching this issue


            • Created: