Class OrdToDocDISIReaderConfiguration

java.lang.Object
org.apache.lucene.codecs.lucene95.OrdToDocDISIReaderConfiguration
All Implemented Interfaces:
Accountable

public class OrdToDocDISIReaderConfiguration extends Object implements Accountable
Configuration for DirectMonotonicReader and IndexedDISI for reading sparse vectors. The format in the static writing methods adheres to the Lucene95HnswVectorsFormat
  • Method Details

    • writeStoredMeta

      public static void writeStoredMeta(int directMonotonicBlockShift, IndexOutput outputMeta, IndexOutput vectorData, int count, int maxDoc, DocsWithFieldSet docsWithField) throws IOException
      Writes out the docsWithField and ordToDoc mapping to the outputMeta and vectorData respectively. This is in adherence to the Lucene95HnswVectorsFormat.

      Within outputMeta the format is as follows:

      Within the vectorData the format is as follows:

      Parameters:
      outputMeta - the outputMeta
      vectorData - the vectorData
      count - the count of docs with vectors
      maxDoc - the maxDoc for the index
      docsWithField - the docs contaiting a vector field
      Throws:
      IOException - thrown when writing data fails to either output
    • fromStoredMeta

      public static OrdToDocDISIReaderConfiguration fromStoredMeta(IndexInput inputMeta, int size) throws IOException
      Reads in the necessary fields stored in the outputMeta to configure DirectMonotonicReader and IndexedDISI.
      Parameters:
      inputMeta - the inputMeta, previously written to via writeStoredMeta(int, IndexOutput, IndexOutput, int, int, DocsWithFieldSet)
      size - The number of vectors
      Returns:
      the configuration required to read sparse vectors
      Throws:
      IOException - thrown when reading data fails
    • ramBytesUsed

      public long ramBytesUsed()
      Description copied from interface: Accountable
      Return the memory usage of this object in bytes. Negative values are illegal.
      Specified by:
      ramBytesUsed in interface Accountable
    • getIndexedDISI

      public IndexedDISI getIndexedDISI(IndexInput dataIn) throws IOException
      Parameters:
      dataIn - the dataIn
      Returns:
      the IndexedDISI for sparse values
      Throws:
      IOException - thrown when reading data fails
    • getDirectMonotonicReader

      public DirectMonotonicReader getDirectMonotonicReader(IndexInput dataIn) throws IOException
      Parameters:
      dataIn - the dataIn
      Returns:
      the DirectMonotonicReader for sparse values
      Throws:
      IOException - thrown when reading data fails
    • isEmpty

      public boolean isEmpty()
      Returns:
      If true, the field is empty, no vector values. If false, the field is either dense or sparse.
    • isDense

      public boolean isDense()
      Returns:
      If true, the field is dense, all documents have values for a field. If false, the field is sparse, some documents missing values.