org.apache.lucene.search.suggest
Class Sort

java.lang.Object
  extended by org.apache.lucene.search.suggest.Sort

public final class Sort
extends Object

On-disk sorting of byte arrays. Each byte array (entry) is a composed of the following fields:

See Also:
sort(File, File)
WARNING: This API is experimental and might change in incompatible ways in the next release.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

Nested Class Summary
static class Sort.BufferSize
          A bit more descriptive unit for constructors.
static class Sort.ByteSequencesReader
          Utility class to read length-prefixed byte[] entries from an input.
static class Sort.ByteSequencesWriter
          Utility class to emit length-prefixed byte[] entries to an output stream for sorting.
 class Sort.SortInfo
          Sort info (debugging mostly).
 
Field Summary
static long ABSOLUTE_MIN_SORT_BUFFER_SIZE
          Absolute minimum required buffer size for sorting.
static Comparator<BytesRef> DEFAULT_COMPARATOR
          Default comparator: sorts in binary (codepoint) order
static long GB
          Convenience constant for gigabytes
static int MAX_TEMPFILES
          Maximum number of temporary files before doing an intermediate merge.
static long MB
          Convenience constant for megabytes
static long MIN_BUFFER_SIZE_MB
          Minimum recommended buffer size for sorting.
 
Constructor Summary
Sort()
          Defaults constructor.
Sort(Comparator<BytesRef> comparator)
          Defaults constructor with a custom comparator.
Sort(Comparator<BytesRef> comparator, Sort.BufferSize ramBufferSize, File tempDirectory, int maxTempfiles)
          All-details constructor.
 
Method Summary
static File defaultTempDir()
          Returns the default temporary directory.
 Comparator<BytesRef> getComparator()
          Returns the comparator in use to sort entries
 Sort.SortInfo sort(File input, File output)
          Sort input to output, explicit hint for the buffer size.
protected  File sortPartition(int len)
          Sort a single partition in-memory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MB

public static final long MB
Convenience constant for megabytes

See Also:
Constant Field Values

GB

public static final long GB
Convenience constant for gigabytes

See Also:
Constant Field Values

MIN_BUFFER_SIZE_MB

public static final long MIN_BUFFER_SIZE_MB
Minimum recommended buffer size for sorting.

See Also:
Constant Field Values

ABSOLUTE_MIN_SORT_BUFFER_SIZE

public static final long ABSOLUTE_MIN_SORT_BUFFER_SIZE
Absolute minimum required buffer size for sorting.

See Also:
Constant Field Values

MAX_TEMPFILES

public static final int MAX_TEMPFILES
Maximum number of temporary files before doing an intermediate merge.

See Also:
Constant Field Values

DEFAULT_COMPARATOR

public static final Comparator<BytesRef> DEFAULT_COMPARATOR
Default comparator: sorts in binary (codepoint) order

Constructor Detail

Sort

public Sort()
     throws IOException
Defaults constructor.

Throws:
IOException
See Also:
defaultTempDir(), Sort.BufferSize.automatic()

Sort

public Sort(Comparator<BytesRef> comparator)
     throws IOException
Defaults constructor with a custom comparator.

Throws:
IOException
See Also:
defaultTempDir(), Sort.BufferSize.automatic()

Sort

public Sort(Comparator<BytesRef> comparator,
            Sort.BufferSize ramBufferSize,
            File tempDirectory,
            int maxTempfiles)
All-details constructor.

Method Detail

sort

public Sort.SortInfo sort(File input,
                          File output)
                   throws IOException
Sort input to output, explicit hint for the buffer size. The amount of allocated memory may deviate from the hint (may be smaller or larger).

Throws:
IOException

defaultTempDir

public static File defaultTempDir()
                           throws IOException
Returns the default temporary directory. By default, java.io.tmpdir. If not accessible or not available, an IOException is thrown

Throws:
IOException

sortPartition

protected File sortPartition(int len)
                      throws IOException
Sort a single partition in-memory.

Throws:
IOException

getComparator

public Comparator<BytesRef> getComparator()
Returns the comparator in use to sort entries



Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.