Class MultiDocValues


  • public class MultiDocValues
    extends java.lang.Object
    A wrapper for CompositeIndexReader providing access to DocValues.

    NOTE: for multi readers, you'll get better performance by gathering the sub readers using IndexReader.getContext() to get the atomic leaves and then operate per-AtomicReader, instead of using this class.

    NOTE: This is very costly.

    • Method Detail

      • getNormValues

        public static NumericDocValues getNormValues​(IndexReader r,
                                                     java.lang.String field)
                                              throws java.io.IOException
        Returns a NumericDocValues for a reader's norms (potentially merging on-the-fly).

        This is a slow way to access normalization values. Instead, access them per-segment with AtomicReader.getNormValues(String)

        Throws:
        java.io.IOException
      • getNumericValues

        public static NumericDocValues getNumericValues​(IndexReader r,
                                                        java.lang.String field)
                                                 throws java.io.IOException
        Returns a NumericDocValues for a reader's docvalues (potentially merging on-the-fly)

        This is a slow way to access numeric values. Instead, access them per-segment with AtomicReader.getNumericDocValues(String)

        Throws:
        java.io.IOException
      • getDocsWithField

        public static Bits getDocsWithField​(IndexReader r,
                                            java.lang.String field)
                                     throws java.io.IOException
        Returns a Bits for a reader's docsWithField (potentially merging on-the-fly)

        This is a slow way to access this bitset. Instead, access them per-segment with AtomicReader.getDocsWithField(String)

        Throws:
        java.io.IOException
      • getBinaryValues

        public static BinaryDocValues getBinaryValues​(IndexReader r,
                                                      java.lang.String field)
                                               throws java.io.IOException
        Returns a BinaryDocValues for a reader's docvalues (potentially merging on-the-fly)

        This is a slow way to access binary values. Instead, access them per-segment with AtomicReader.getBinaryDocValues(String)

        Throws:
        java.io.IOException
      • getSortedValues

        public static SortedDocValues getSortedValues​(IndexReader r,
                                                      java.lang.String field)
                                               throws java.io.IOException
        Returns a SortedDocValues for a reader's docvalues (potentially doing extremely slow things).

        This is an extremely slow way to access sorted values. Instead, access them per-segment with AtomicReader.getSortedDocValues(String)

        Throws:
        java.io.IOException
      • getSortedSetValues

        public static SortedSetDocValues getSortedSetValues​(IndexReader r,
                                                            java.lang.String field)
                                                     throws java.io.IOException
        Returns a SortedSetDocValues for a reader's docvalues (potentially doing extremely slow things).

        This is an extremely slow way to access sorted values. Instead, access them per-segment with AtomicReader.getSortedSetDocValues(String)

        Throws:
        java.io.IOException