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

Allow to control how payloads are merged


    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 3.1, 4.0-ALPHA
    • core/index
    • None
    • 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



            shaie Shai Erera
            michaelbusch Michael Busch
            0 Vote for this issue
            0 Start watching this issue