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

fix SortedDocValues to no longer extend BinaryDocValues

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 9.0
    • None
    • None
    • New

    Description

      SortedDocValues give ordinals and a way to derefence ordinal as a byte[]

      But currently they extend BinaryDocValues, which allows directly calling binaryValue().

      This allows them to act as a "slow" BinaryDocValues, but it is a performance trap, especially now that terms bytes may be block-compressed (LUCENE-9663).

      I think this should be detangled to prevent performance traps like LUCENE-9795: SortedDocValues shouldn't have the trappy inherited binaryValue() method that implicitly derefs the ord for the doc, then the term bytes for the ord.

      Attachments

        1. LUCENE-9796.patch
          46 kB
          Robert Muir
        2. LUCENE-9796_prototype.patch
          27 kB
          Robert Muir

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rcmuir Robert Muir
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: