## Uses of Class
org.apache.lucene.store.Directory

- Packages that use Directory
  Package | Description
  --- | ---
  org.apache.lucene.codecs | Codecs API: API for customization of the encoding and structure of the index.
  org.apache.lucene.codecs.compressing | StoredFieldsFormat that allows cross-document and cross-field compression of stored fields.
  org.apache.lucene.codecs.lucene50 | Components from the Lucene 5.0 index format See `org.apache.lucene.codecs.lucene50` for an overview of the index format.
  org.apache.lucene.codecs.lucene60 | Components from the Lucene 6.0 index format.
  org.apache.lucene.codecs.lucene62 | Components from the Lucene 6.2 index format See `org.apache.lucene.codecs.lucene70` for an overview of the current index format.
  org.apache.lucene.codecs.lucene70 | Lucene 7.0 file format.
  org.apache.lucene.index | Code to maintain and access indices.
  org.apache.lucene.search | Code to search indices.
  org.apache.lucene.store | Binary i/o API, used for all index data.
  org.apache.lucene.util | Some utility classes.
  org.apache.lucene.util.bkd | Block KD-tree, implementing the generic spatial data structure described in this paper.

- - ### Uses of Directory in org.apache.lucene.codecs

    Methods in org.apache.lucene.codecs that return Directory
    Modifier and Type | Method and Description
    --- | ---
    `abstract Directory` | CompoundFormat.`getCompoundReader(Directory dir, SegmentInfo si, IOContext context)` Returns a Directory view (read-only) for the compound files in this segment

    Methods in org.apache.lucene.codecs with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `abstract StoredFieldsReader` | StoredFieldsFormat.`fieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context)` Returns a `StoredFieldsReader` to load stored fields.
    `abstract StoredFieldsWriter` | StoredFieldsFormat.`fieldsWriter(Directory directory, SegmentInfo si, IOContext context)` Returns a `StoredFieldsWriter` to write stored fields.
    `abstract Directory` | CompoundFormat.`getCompoundReader(Directory dir, SegmentInfo si, IOContext context)` Returns a Directory view (read-only) for the compound files in this segment
    `abstract FieldInfos` | FieldInfosFormat.`read(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, IOContext iocontext)` Read the `FieldInfos` previously written with `FieldInfosFormat.write(org.apache.lucene.store.Directory, org.apache.lucene.index.SegmentInfo, java.lang.String, org.apache.lucene.index.FieldInfos, org.apache.lucene.store.IOContext)`.
    `abstract SegmentInfo` | SegmentInfoFormat.`read(Directory directory, String segmentName, byte[] segmentID, IOContext context)` Read `SegmentInfo` data from a directory.
    `abstract Bits` | LiveDocsFormat.`readLiveDocs(Directory dir, SegmentCommitInfo info, IOContext context)` Read live docs bits.
    `abstract TermVectorsReader` | TermVectorsFormat.`vectorsReader(Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, IOContext context)` Returns a `TermVectorsReader` to read term vectors.
    `abstract TermVectorsWriter` | TermVectorsFormat.`vectorsWriter(Directory directory, SegmentInfo segmentInfo, IOContext context)` Returns a `TermVectorsWriter` to write term vectors.
    `abstract void` | CompoundFormat.`write(Directory dir, SegmentInfo si, IOContext context)` Packs the provided segment's files into a compound format.
    `abstract void` | SegmentInfoFormat.`write(Directory dir, SegmentInfo info, IOContext ioContext)` Write `SegmentInfo` data.
    `abstract void` | FieldInfosFormat.`write(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, FieldInfos infos, IOContext context)` Writes the provided `FieldInfos` to the directory.
    `abstract void` | LiveDocsFormat.`writeLiveDocs(Bits bits, Directory dir, SegmentCommitInfo info, int newDelCount, IOContext context)` Persist live docs bits.

  - ### Uses of Directory in org.apache.lucene.codecs.compressing

    Methods in org.apache.lucene.codecs.compressing with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `StoredFieldsReader` | CompressingStoredFieldsFormat.`fieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context)`
    `StoredFieldsWriter` | CompressingStoredFieldsFormat.`fieldsWriter(Directory directory, SegmentInfo si, IOContext context)`
    `TermVectorsReader` | CompressingTermVectorsFormat.`vectorsReader(Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, IOContext context)`
    `TermVectorsWriter` | CompressingTermVectorsFormat.`vectorsWriter(Directory directory, SegmentInfo segmentInfo, IOContext context)`

    Constructors in org.apache.lucene.codecs.compressing with parameters of type Directory
    Constructor and Description
    `CompressingStoredFieldsReader(Directory d, SegmentInfo si, String segmentSuffix, FieldInfos fn, IOContext context, String formatName, CompressionMode compressionMode)` Sole constructor.
    `CompressingStoredFieldsWriter(Directory directory, SegmentInfo si, String segmentSuffix, IOContext context, String formatName, CompressionMode compressionMode, int chunkSize, int maxDocsPerChunk, int blockSize)` Sole constructor.
    `CompressingTermVectorsReader(Directory d, SegmentInfo si, String segmentSuffix, FieldInfos fn, IOContext context, String formatName, CompressionMode compressionMode)` Sole constructor.
    `CompressingTermVectorsWriter(Directory directory, SegmentInfo si, String segmentSuffix, IOContext context, String formatName, CompressionMode compressionMode, int chunkSize, int blockSize)` Sole constructor.

  - ### Uses of Directory in org.apache.lucene.codecs.lucene50

    Methods in org.apache.lucene.codecs.lucene50 that return Directory
    Modifier and Type | Method and Description
    --- | ---
    `Directory` | Lucene50CompoundFormat.`getCompoundReader(Directory dir, SegmentInfo si, IOContext context)`

    Methods in org.apache.lucene.codecs.lucene50 with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `StoredFieldsReader` | Lucene50StoredFieldsFormat.`fieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context)`
    `StoredFieldsWriter` | Lucene50StoredFieldsFormat.`fieldsWriter(Directory directory, SegmentInfo si, IOContext context)`
    `Directory` | Lucene50CompoundFormat.`getCompoundReader(Directory dir, SegmentInfo si, IOContext context)`
    `FieldInfos` | Lucene50FieldInfosFormat.`read(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, IOContext context)`
    `Bits` | Lucene50LiveDocsFormat.`readLiveDocs(Directory dir, SegmentCommitInfo info, IOContext context)`
    `void` | Lucene50CompoundFormat.`write(Directory dir, SegmentInfo si, IOContext context)`
    `void` | Lucene50FieldInfosFormat.`write(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, FieldInfos infos, IOContext context)`
    `void` | Lucene50LiveDocsFormat.`writeLiveDocs(Bits bits, Directory dir, SegmentCommitInfo info, int newDelCount, IOContext context)`

  - ### Uses of Directory in org.apache.lucene.codecs.lucene60

    Methods in org.apache.lucene.codecs.lucene60 with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `FieldInfos` | Lucene60FieldInfosFormat.`read(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, IOContext context)`
    `void` | Lucene60FieldInfosFormat.`write(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, FieldInfos infos, IOContext context)`

  - ### Uses of Directory in org.apache.lucene.codecs.lucene62

    Methods in org.apache.lucene.codecs.lucene62 with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `SegmentInfo` | Lucene62SegmentInfoFormat.`read(Directory dir, String segment, byte[] segmentID, IOContext context)`
    `void` | Lucene62SegmentInfoFormat.`write(Directory dir, SegmentInfo info, IOContext ioContext)`

  - ### Uses of Directory in org.apache.lucene.codecs.lucene70

    Methods in org.apache.lucene.codecs.lucene70 with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `SegmentInfo` | Lucene70SegmentInfoFormat.`read(Directory dir, String segment, byte[] segmentID, IOContext context)`
    `void` | Lucene70SegmentInfoFormat.`write(Directory dir, SegmentInfo si, IOContext ioContext)`

  - ### Uses of Directory in org.apache.lucene.index

    Fields in org.apache.lucene.index declared as Directory
    Modifier and Type | Field and Description
    --- | ---
    `Directory` | CheckIndex.Status.`dir` Directory index is in.
    `Directory` | SegmentInfo.`dir` Where this segment resides.
    `Directory` | SegmentReadState.`directory` `Directory` where this segment is read from.
    `protected Directory` | DirectoryReader.`directory` The index directory.
    `Directory` | SegmentWriteState.`directory` `Directory` where this segment will be written to.

    Methods in org.apache.lucene.index that return Directory
    Modifier and Type | Method and Description
    --- | ---
    `Directory` | SegmentReader.`directory()` Returns the directory this index resides in.
    `Directory` | DirectoryReader.`directory()` Returns the directory this index resides in.
    `Directory` | MergePolicy.MergeException.`getDirectory()` Returns the `Directory` of the index that hit the exception.
    `abstract Directory` | IndexCommit.`getDirectory()` Returns the `Directory` for the index.
    `Directory` | IndexWriter.`getDirectory()` Returns the Directory used by this index.
    `Directory` | ConcurrentMergeScheduler.`wrapForMerge(MergePolicy.OneMerge merge, Directory in)`
    `Directory` | MergeScheduler.`wrapForMerge(MergePolicy.OneMerge merge, Directory in)` Wraps the incoming `Directory` so that we can merge-throttle it using `RateLimitedIndexOutput`.
    `Directory` | NoMergeScheduler.`wrapForMerge(MergePolicy.OneMerge merge, Directory in)`

    Methods in org.apache.lucene.index with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `long` | IndexWriter.`addIndexes(Directory... dirs)` Adds all segments from an array of indexes into this index.
    `void` | SegmentInfos.`commit(Directory dir)` Writes and syncs to the Directory dir, taking care to remove the segments file on exception
    `static long` | SegmentInfos.`getLastCommitGeneration(Directory directory)` Get the generation of the most recent commit to the index in this directory (N in the segments_N file).
    `static String` | SegmentInfos.`getLastCommitSegmentsFileName(Directory directory)` Get the filename of the segments_N file for the most recent commit to the index in this Directory.
    `protected void` | ConcurrentMergeScheduler.`handleMergeException(Directory dir, Throwable exc)` Called when an exception is hit in a background merge thread
    `static boolean` | DirectoryReader.`indexExists(Directory directory)` Returns `true` if an index likely exists at the specified directory.
    `static List<IndexCommit>` | DirectoryReader.`listCommits(Directory dir)` Returns all commit points that exist in the Directory.
    `static DirectoryReader` | DirectoryReader.`open(Directory directory)` Returns a IndexReader reading the index in the given Directory
    `static DirectoryReader` | StandardDirectoryReader.`open(Directory directory, SegmentInfos infos, List<? extends LeafReader> oldReaders)` This constructor is only used for `StandardDirectoryReader.doOpenIfChanged(SegmentInfos)`, as well as NRT replication.
    `static SegmentInfos` | SegmentInfos.`readCommit(Directory directory, ChecksumIndexInput input, long generation)` Read the commit from the provided `ChecksumIndexInput`.
    `static SegmentInfos` | SegmentInfos.`readCommit(Directory directory, String segmentFileName)` Read a particular segmentFileName.
    `static SegmentInfos` | SegmentInfos.`readLatestCommit(Directory directory)` Find the latest commit (`segments_N file`) and load all `SegmentCommitInfo`s.
    `String` | MergePolicy.MergeSpecification.`segString(Directory dir)` Returns a description of the merges in this specification.
    `Directory` | ConcurrentMergeScheduler.`wrapForMerge(MergePolicy.OneMerge merge, Directory in)`
    `Directory` | MergeScheduler.`wrapForMerge(MergePolicy.OneMerge merge, Directory in)` Wraps the incoming `Directory` so that we can merge-throttle it using `RateLimitedIndexOutput`.
    `Directory` | NoMergeScheduler.`wrapForMerge(MergePolicy.OneMerge merge, Directory in)`
    `void` | SegmentInfos.`write(Directory directory, IndexOutput out)` Write ourselves to the provided `IndexOutput`

    Constructors in org.apache.lucene.index with parameters of type Directory
    Constructor and Description
    `CheckIndex(Directory dir)` Create a new CheckIndex on the directory.
    `CheckIndex(Directory dir, Lock writeLock)` Expert: create a directory with the specified lock.
    `DirectoryReader(Directory directory, LeafReader[] segmentReaders)` Expert: Constructs a `DirectoryReader` on the given subReaders.
    `FindSegmentsFile(Directory directory)` Sole constructor.
    `IndexUpgrader(Directory dir)` Creates index upgrader on the given directory, using an `IndexWriter` using the given `matchVersion`.
    `IndexUpgrader(Directory dir, IndexWriterConfig iwc, boolean deletePriorCommits)` Creates index upgrader on the given directory, using an `IndexWriter` using the given config.
    `IndexUpgrader(Directory dir, InfoStream infoStream, boolean deletePriorCommits)` Creates index upgrader on the given directory, using an `IndexWriter` using the given `matchVersion`.
    `IndexWriter(Directory d, IndexWriterConfig conf)` Constructs a new IndexWriter per the settings given in `conf`.
    `MergeException(String message, Directory dir)` Create a `MergeException`.
    `MergeException(Throwable exc, Directory dir)` Create a `MergeException`.
    `PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary, Directory dir)` `PersistentSnapshotDeletionPolicy` wraps another `IndexDeletionPolicy` to enable flexible snapshotting, passing `IndexWriterConfig.OpenMode.CREATE_OR_APPEND` by default.
    `PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary, Directory dir, IndexWriterConfig.OpenMode mode)` `PersistentSnapshotDeletionPolicy` wraps another `IndexDeletionPolicy` to enable flexible snapshotting.
    `ReaderManager(Directory dir)` Creates and returns a new ReaderManager from the given `Directory`.
    `SegmentInfo(Directory dir, Version version, Version minVersion, String name, int maxDoc, boolean isCompoundFile, Codec codec, Map<String,String> diagnostics, byte[] id, Map<String,String> attributes, Sort indexSort)` Construct a new complete SegmentInfo instance from input.
    `SegmentReadState(Directory dir, SegmentInfo info, FieldInfos fieldInfos, IOContext context)` Create a `SegmentReadState`.
    `SegmentReadState(Directory dir, SegmentInfo info, FieldInfos fieldInfos, IOContext context, String segmentSuffix)` Create a `SegmentReadState`.
    `SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, org.apache.lucene.index.BufferedUpdates segUpdates, IOContext context)` Sole constructor.
    `SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, org.apache.lucene.index.BufferedUpdates segUpdates, IOContext context, String segmentSuffix)` Constructor which takes segment suffix.

  - ### Uses of Directory in org.apache.lucene.search

    Constructors in org.apache.lucene.search with parameters of type Directory
    Constructor and Description
    `SearcherManager(Directory dir, SearcherFactory searcherFactory)` Creates and returns a new SearcherManager from the given `Directory`.

  - ### Uses of Directory in org.apache.lucene.store

    Subclasses of Directory in org.apache.lucene.store
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BaseDirectory` Base implementation for a concrete `Directory` that uses a `LockFactory` for locking.
    `class` | `ByteBuffersDirectory` A `ByteBuffer`-based `Directory` implementation that can be used to store index files on the heap.
    `class` | `FileSwitchDirectory` Expert: A Directory instance that switches files between two other Directory instances.
    `class` | `FilterDirectory` Directory implementation that delegates calls to another directory.
    `class` | `FSDirectory` Base class for Directory implementations that store index files in the file system.
    `class` | `LockValidatingDirectoryWrapper` This class makes a best-effort check that a provided `Lock` is valid before any destructive filesystem operation.
    `class` | `MMapDirectory` File-based `Directory` implementation that uses mmap for reading, and `FSDirectory.FSIndexOutput` for writing.
    `class` | `NIOFSDirectory` An `FSDirectory` implementation that uses java.nio's FileChannel's positional read, which allows multiple threads to read from the same file without synchronizing.
    `class` | `NRTCachingDirectory` Wraps a `RAMDirectory` around any provided delegate directory, to be used during NRT search.
    `class` | `RAMDirectory` Deprecated. This class uses inefficient synchronization and is discouraged in favor of `MMapDirectory`. It will be removed in future versions of Lucene.
    `class` | `SimpleFSDirectory` A straightforward implementation of `FSDirectory` using `Files.newByteChannel(Path, java.nio.file.OpenOption...)`.
    `class` | `SleepingLockWrapper` Directory that wraps another, and that sleeps and retries if obtaining the lock fails.
    `class` | `TrackingDirectoryWrapper` A delegating Directory that records which files were written to and deleted.

    Fields in org.apache.lucene.store declared as Directory
    Modifier and Type | Field and Description
    --- | ---
    `protected Directory` | FilterDirectory.`in`

    Methods in org.apache.lucene.store that return Directory
    Modifier and Type | Method and Description
    --- | ---
    `Directory` | FilterDirectory.`getDelegate()` Return the wrapped `Directory`.
    `Directory` | FileSwitchDirectory.`getPrimaryDir()` Return the primary directory
    `Directory` | FileSwitchDirectory.`getSecondaryDir()` Return the secondary directory
    `static Directory` | FilterDirectory.`unwrap(Directory dir)` Get the wrapped instance by `dir` as long as this reader is an instance of `FilterDirectory`.

    Methods in org.apache.lucene.store with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `void` | LockValidatingDirectoryWrapper.`copyFrom(Directory from, String src, String dest, IOContext context)`
    `void` | TrackingDirectoryWrapper.`copyFrom(Directory from, String src, String dest, IOContext context)`
    `void` | Directory.`copyFrom(Directory from, String src, String dest, IOContext context)` Copies an existing `src` file from directory `from` to a non-existent file `dest` in this directory.
    `Lock` | VerifyingLockFactory.`obtainLock(Directory dir, String lockName)`
    `Lock` | NoLockFactory.`obtainLock(Directory dir, String lockName)`
    `Lock` | SingleInstanceLockFactory.`obtainLock(Directory dir, String lockName)`
    `abstract Lock` | LockFactory.`obtainLock(Directory dir, String lockName)` Return a new obtained Lock instance identified by lockName.
    `Lock` | FSLockFactory.`obtainLock(Directory dir, String lockName)`
    `static Directory` | FilterDirectory.`unwrap(Directory dir)` Get the wrapped instance by `dir` as long as this reader is an instance of `FilterDirectory`.

    Constructors in org.apache.lucene.store with parameters of type Directory
    Constructor and Description
    `FileSwitchDirectory(Set<String> primaryExtensions, Directory primaryDir, Directory secondaryDir, boolean doClose)`
    `FilterDirectory(Directory in)` Sole constructor, typically called from sub-classes.
    `LockValidatingDirectoryWrapper(Directory in, Lock writeLock)`
    `NRTCachingDirectory(Directory delegate, double maxMergeSizeMB, double maxCachedMB)` We will cache a newly created output if 1) it's a flush or a merge and the estimated size of the merged segment is `<= maxMergeSizeMB`, and 2) the total cached bytes is `<= maxCachedMB`
    `SleepingLockWrapper(Directory delegate, long lockWaitTimeout)` Create a new SleepingLockFactory
    `SleepingLockWrapper(Directory delegate, long lockWaitTimeout, long pollInterval)` Create a new SleepingLockFactory
    `TrackingDirectoryWrapper(Directory in)`

  - ### Uses of Directory in org.apache.lucene.util

    Methods in org.apache.lucene.util that return Directory
    Modifier and Type | Method and Description
    --- | ---
    `Directory` | OfflineSorter.`getDirectory()` Returns the `Directory` we use to create temp files.

    Methods in org.apache.lucene.util that return types with arguments of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `static Class<? extends Directory>` | CommandLineUtil.`loadDirectoryClass(String clazzName)` Loads a specific Directory implementation

    Methods in org.apache.lucene.util with parameters of type Directory
    Modifier and Type | Method and Description
    --- | ---
    `static void` | IOUtils.`deleteFiles(Directory dir, Collection<String> names)` Deletes all given file names.
    `static void` | IOUtils.`deleteFilesIgnoringExceptions(Directory dir, Collection<String> files)` Deletes all given files, suppressing all thrown IOExceptions.
    `static void` | IOUtils.`deleteFilesIgnoringExceptions(Directory dir, String... files)`
    `static boolean` | IOUtils.`spins(Directory dir)` If the dir is an `FSDirectory` or wraps one via possibly nested `FilterDirectory` or `FileSwitchDirectory`, this returns `IOUtils.spins(Path)` for the wrapped directory, else, true.

    Constructors in org.apache.lucene.util with parameters of type Directory
    Constructor and Description
    `OfflineSorter(Directory dir, String tempFileNamePrefix)` Defaults constructor.
    `OfflineSorter(Directory dir, String tempFileNamePrefix, Comparator<BytesRef> comparator)` Defaults constructor with a custom comparator.
    `OfflineSorter(Directory dir, String tempFileNamePrefix, Comparator<BytesRef> comparator, OfflineSorter.BufferSize ramBufferSize, int maxTempfiles, int valueLength, ExecutorService exec, int maxPartitionsInRAM)` All-details constructor.

  - ### Uses of Directory in org.apache.lucene.util.bkd

    Constructors in org.apache.lucene.util.bkd with parameters of type Directory
    Constructor and Description
    `BKDWriter(int maxDoc, Directory tempDir, String tempFileNamePrefix, int numDataDims, int numIndexDims, int bytesPerDim, int maxPointsInLeafNode, double maxMBSortInHeap, long totalPointCount, boolean singleValuePerDoc)`
    `BKDWriter(int maxDoc, Directory tempDir, String tempFileNamePrefix, int numDataDims, int numIndexDims, int bytesPerDim, int maxPointsInLeafNode, double maxMBSortInHeap, long totalPointCount, boolean singleValuePerDoc, boolean longOrds, long offlineSorterBufferMB, int offlineSorterMaxTempFiles)`
    `OfflinePointReader(Directory tempDir, String tempFileName, int packedBytesLength, long start, long length, boolean longOrds, boolean singleValuePerDoc)`
    `OfflinePointWriter(Directory tempDir, String tempFileNamePrefix, int packedBytesLength, boolean longOrds, String desc, long expectedCount, boolean singleValuePerDoc)` Create a new writer with an unknown number of incoming points
    `OfflinePointWriter(Directory tempDir, String name, int packedBytesLength, long count, boolean longOrds, boolean singleValuePerDoc)` Initializes on an already written/closed file, just so consumers can use `OfflinePointWriter.getReader(long, long)` to read the file.

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