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

Hide storage details for IndexDocValues inside the codec

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.0-ALPHA
    • 4.2
    • core/index
    • None
    • New

    Description

      Currently ValueType exposes a lot of impl. details about how values are stored. However, since those are really impl details we should move those into the codec and decide during indexing which storage variant we are using. (robert convinced me this is the right thing and we should explore it)

      We can basically reduce the ValuesType to

      { Bytes, SortedBytes, FixedInts, Floats, VarInts }

      . The implementation ie. the codec can decide based on how many unique values and if values have all the same size what storage variant it should use. For merging we would need some statistics exposed on the Source ie. how many unique values and if all value have a fixed size to decide what the target "type" is going to be.

      This change would make usage of the API a lot easier and less confusing and at the same time it makes merging and type promotion straight forward since we can decide what type we promote to without loading the IDV provider to get the actual size and compare it.

      Attachments

        Activity

          People

            Unassigned Unassigned
            simonw Simon Willnauer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: