org.apache.lucene.store
Class SimpleFSDirectory

java.lang.Object
  extended by org.apache.lucene.store.Directory
      extended by org.apache.lucene.store.FSDirectory
          extended by org.apache.lucene.store.SimpleFSDirectory
All Implemented Interfaces:
Closeable

public class SimpleFSDirectory
extends FSDirectory

A straightforward implementation of FSDirectory using java.io.RandomAccessFile. 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.


Nested Class Summary
protected static class SimpleFSDirectory.SimpleFSIndexInput
          Reads bytes with RandomAccessFile.seek(long) followed by RandomAccessFile.read(byte[], int, int).
 
Nested classes/interfaces inherited from class org.apache.lucene.store.FSDirectory
FSDirectory.FSIndexInput, FSDirectory.FSIndexOutput
 
Nested classes/interfaces inherited from class org.apache.lucene.store.Directory
Directory.IndexInputSlicer
 
Field Summary
 
Fields inherited from class org.apache.lucene.store.FSDirectory
DEFAULT_READ_CHUNK_SIZE, directory, staleFiles
 
Fields inherited from class org.apache.lucene.store.Directory
isOpen, lockFactory
 
Constructor Summary
SimpleFSDirectory(File path)
          Create a new SimpleFSDirectory for the named location and NativeFSLockFactory.
SimpleFSDirectory(File path, LockFactory lockFactory)
          Create a new SimpleFSDirectory for the named location.
 
Method Summary
 Directory.IndexInputSlicer createSlicer(String name, IOContext context)
          Creates an Directory.IndexInputSlicer for the given file name.
 IndexInput openInput(String name, IOContext context)
          Creates an IndexInput for the file with the given name.
 
Methods inherited from class org.apache.lucene.store.FSDirectory
close, createOutput, deleteFile, ensureCanWrite, fileExists, fileLength, fileModified, fsync, getDirectory, getLockID, getReadChunkSize, listAll, listAll, onIndexOutputClosed, open, open, setLockFactory, setReadChunkSize, sync, toString
 
Methods inherited from class org.apache.lucene.store.Directory
clearLock, copy, ensureOpen, getLockFactory, makeLock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SimpleFSDirectory

public SimpleFSDirectory(File path,
                         LockFactory lockFactory)
                  throws IOException
Create a new SimpleFSDirectory for the named location.

Parameters:
path - the path of the directory
lockFactory - the lock factory to use, or null for the default (NativeFSLockFactory);
Throws:
IOException - if there is a low-level I/O error

SimpleFSDirectory

public SimpleFSDirectory(File path)
                  throws IOException
Create a new SimpleFSDirectory for the named location and NativeFSLockFactory.

Parameters:
path - the path of the directory
Throws:
IOException - if there is a low-level I/O error
Method Detail

openInput

public IndexInput openInput(String name,
                            IOContext context)
                     throws IOException
Creates an IndexInput for the file with the given name.

Specified by:
openInput in class Directory
Throws:
IOException

createSlicer

public Directory.IndexInputSlicer createSlicer(String name,
                                               IOContext context)
                                        throws IOException
Description copied from class: Directory
Creates an Directory.IndexInputSlicer for the given file name. IndexInputSlicer allows other Directory implementations to efficiently open one or more sliced IndexInput instances from a single file handle. The underlying file handle is kept open until the Directory.IndexInputSlicer is closed.

Overrides:
createSlicer in class Directory
Throws:
IOException - if an IOException occurs


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