Class SortedDocValues

  • Direct Known Subclasses:
    MultiDocValues.MultiSortedDocValues

    public abstract class SortedDocValues
    extends BinaryDocValues
    A per-document byte[] with presorted values.

    Per-Document values in a SortedDocValues are deduplicated, dereferenced, and sorted into a dictionary of unique values. A pointer to the dictionary value (ordinal) can be retrieved for each document. Ordinals are dense and in increasing sorted order.

    • Constructor Detail

      • SortedDocValues

        protected SortedDocValues()
        Sole constructor. (For invocation by subclass constructors, typically implicit.)
    • Method Detail

      • getOrd

        public abstract int getOrd​(int docID)
        Returns the ordinal for the specified docID.
        Parameters:
        docID - document ID to lookup
        Returns:
        ordinal for the document: this is dense, starts at 0, then increments by 1 for the next value in sorted order. Note that missing values are indicated by -1.
      • lookupOrd

        public abstract void lookupOrd​(int ord,
                                       BytesRef result)
        Retrieves the value for the specified ordinal.
        Parameters:
        ord - ordinal to lookup (must be >= 0 and < getValueCount())
        result - will be populated with the ordinal's value
        See Also:
        getOrd(int)
      • getValueCount

        public abstract int getValueCount()
        Returns the number of unique values.
        Returns:
        number of unique values in this SortedDocValues. This is also equivalent to one plus the maximum ordinal.
      • lookupTerm

        public int lookupTerm​(BytesRef key)
        If key exists, returns its ordinal, else returns -insertionPoint-1, like Arrays.binarySearch.
        Parameters:
        key - Key to look up