Package org.apache.lucene.store
Class SimpleFSDirectory
java.lang.Object
org.apache.lucene.store.Directory
org.apache.lucene.store.BaseDirectory
org.apache.lucene.store.FSDirectory
org.apache.lucene.store.SimpleFSDirectory
- All Implemented Interfaces:
Closeable,AutoCloseable
Deprecated.
A straightforward implementation of
FSDirectory
using Files.newByteChannel(Path, java.nio.file.OpenOption...).
However, this class has
poor concurrent performance (multiple threads will
bottleneck) as it synchronizes when multiple threads
read from the same file. It's usually better to use
NIOFSDirectory or MMapDirectory instead.
NOTE: Accessing this class either directly or
indirectly from a thread while it's interrupted can close the
underlying file descriptor immediately if at the same time the thread is
blocked on IO. The file descriptor will remain closed and subsequent access
to SimpleFSDirectory will throw a ClosedChannelException. If
your application uses either Thread.interrupt() or
Future.cancel(boolean) you should use the legacy RAFDirectory
from the Lucene misc module in favor of SimpleFSDirectory.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final classDeprecated.Reads bytes withSeekableByteChannel.read(ByteBuffer)Nested classes/interfaces inherited from class org.apache.lucene.store.FSDirectory
FSDirectory.FSIndexOutput -
Field Summary
Fields inherited from class org.apache.lucene.store.FSDirectory
directoryFields inherited from class org.apache.lucene.store.BaseDirectory
isOpen, lockFactory -
Constructor Summary
ConstructorsConstructorDescriptionSimpleFSDirectory(Path path) Deprecated.Create a new SimpleFSDirectory for the named location andFSLockFactory.getDefault().SimpleFSDirectory(Path path, LockFactory lockFactory) Deprecated.Create a new SimpleFSDirectory for the named location. -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Creates an IndexInput for the file with the given name.Methods inherited from class org.apache.lucene.store.FSDirectory
close, createOutput, createTempOutput, deleteFile, deletePendingFiles, ensureCanRead, fileLength, fsync, getDirectory, getPendingDeletions, listAll, listAll, open, open, rename, sync, syncMetaData, toStringMethods inherited from class org.apache.lucene.store.BaseDirectory
ensureOpen, obtainLockMethods inherited from class org.apache.lucene.store.Directory
copyFrom, getTempFileName, openChecksumInput
-
Constructor Details
-
SimpleFSDirectory
Deprecated.Create a new SimpleFSDirectory for the named location. The directory is created at the named location if it does not yet exist.- Parameters:
path- the path of the directorylockFactory- the lock factory to use- Throws:
IOException- if there is a low-level I/O error
-
SimpleFSDirectory
Deprecated.Create a new SimpleFSDirectory for the named location andFSLockFactory.getDefault(). The directory is created at the named location if it does not yet exist.- Parameters:
path- the path of the directory- Throws:
IOException- if there is a low-level I/O error
-
-
Method Details
-
openInput
Deprecated.Creates an IndexInput for the file with the given name.- Specified by:
openInputin classDirectory- Parameters:
name- the name of an existing file.- Throws:
IOException- in case of I/O error
-
NIOFSDirectory, and will be removed in future versions of Lucene.