Class FreqProxTermsWriter.SortingPostingsEnum.DocOffsetSorter

  • Enclosing class:
    FreqProxTermsWriter.SortingPostingsEnum

    private static final class FreqProxTermsWriter.SortingPostingsEnum.DocOffsetSorter
    extends TimSorter
    A TimSorter which sorts two parallel arrays of doc IDs and offsets in one go. Everyti me a doc ID is 'swapped', its corresponding offset is swapped too.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int[] docs  
      private long[] offsets  
      private int[] tmpDocs  
      private long[] tmpOffsets  
    • Constructor Summary

      Constructors 
      Constructor Description
      DocOffsetSorter​(int numTempSlots)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int compare​(int i, int j)
      Compare entries found in slots i and j.
      protected int compareSaved​(int i, int j)
      Compare element i from the temporary storage with element j from the slice to sort, similarly to Sorter.compare(int, int).
      protected void copy​(int src, int dest)
      Copy data from slot src to slot dest.
      void reset​(int[] docs, long[] offsets)  
      protected void restore​(int i, int j)
      Restore element j from the temporary storage into slot i.
      protected void save​(int i, int len)
      Save all elements between slots i and i+len into the temporary storage.
      protected void swap​(int i, int j)
      Swap values at slots i and j.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • docs

        private int[] docs
      • offsets

        private long[] offsets
      • tmpDocs

        private int[] tmpDocs
      • tmpOffsets

        private long[] tmpOffsets
    • Constructor Detail

      • DocOffsetSorter

        public DocOffsetSorter​(int numTempSlots)
    • Method Detail

      • reset

        public void reset​(int[] docs,
                          long[] offsets)
      • compare

        protected int compare​(int i,
                              int j)
        Description copied from class: Sorter
        Compare entries found in slots i and j. The contract for the returned value is the same as Comparator.compare(Object, Object).
        Specified by:
        compare in class Sorter
      • swap

        protected void swap​(int i,
                            int j)
        Description copied from class: Sorter
        Swap values at slots i and j.
        Specified by:
        swap in class Sorter
      • copy

        protected void copy​(int src,
                            int dest)
        Description copied from class: TimSorter
        Copy data from slot src to slot dest.
        Specified by:
        copy in class TimSorter
      • save

        protected void save​(int i,
                            int len)
        Description copied from class: TimSorter
        Save all elements between slots i and i+len into the temporary storage.
        Specified by:
        save in class TimSorter
      • restore

        protected void restore​(int i,
                               int j)
        Description copied from class: TimSorter
        Restore element j from the temporary storage into slot i.
        Specified by:
        restore in class TimSorter
      • compareSaved

        protected int compareSaved​(int i,
                                   int j)
        Description copied from class: TimSorter
        Compare element i from the temporary storage with element j from the slice to sort, similarly to Sorter.compare(int, int).
        Specified by:
        compareSaved in class TimSorter