org.apache.lucene.store
Class FSDirectory
Straightforward implementation of
Directory
as a directory of files.
Locking implementation is by default the
SimpleFSLockFactory
, but
can be changed either by passing in a
LockFactory
instance to
getDirectory
, or specifying the LockFactory class by setting
org.apache.lucene.store.FSDirectoryLockFactoryClass
Java system
property, or by calling
FSDirectory
after creating
the Directory.
Directories are cached, so that, for a given canonical
path, the same FSDirectory instance will always be
returned by
getDirectory
. This permits
synchronization on directories.
static String | LOCK_DIR - As of 2.1,
LOCK_DIR is unused
because the write.lock is now stored by default in the
index directory.
|
void | close() - Closes the store to future operations.
|
IndexOutput | createOutput(String name) - Creates a new, empty file in the directory with the given name.
|
void | deleteFile(String name) - Removes an existing file in the directory.
|
boolean | fileExists(String name) - Returns true iff a file with the given name exists.
|
long | fileLength(String name) - Returns the length in bytes of a file in the directory.
|
static long | fileModified(File directory, String name) - Returns the time the named file was last modified.
|
long | fileModified(String name) - Returns the time the named file was last modified.
|
static FSDirectory | getDirectory(File file) - Returns the directory instance for the named location.
|
static FSDirectory | getDirectory(File file, boolean create) - Use IndexWriter's create flag, instead, to
create a new index.
|
static FSDirectory | getDirectory(File file, LockFactory lockFactory) - Returns the directory instance for the named location.
|
static FSDirectory | getDirectory(String path) - Returns the directory instance for the named location.
|
static FSDirectory | getDirectory(String path, boolean create) - Use IndexWriter's create flag, instead, to
create a new index.
|
static FSDirectory | getDirectory(String path, LockFactory lockFactory) - Returns the directory instance for the named location.
|
static boolean | getDisableLocks() - Returns whether Lucene's use of lock files is disabled.
|
File | getFile()
|
String | getLockID() - Return a string identifier that uniquely differentiates
this Directory instance from other Directory instances.
|
String[] | list() - Returns an array of strings, one for each Lucene index file in the directory.
|
IndexInput | openInput(String name) - Returns a stream reading an existing file.
|
void | renameFile(String from, String to)
|
static void | setDisableLocks(boolean doDisableLocks) - Set whether Lucene's use of lock files is disabled.
|
String | toString() - For debug output.
|
void | touchFile(String name) - Set the modified time of an existing file to now.
|
clearLock , close , copy , createOutput , deleteFile , fileExists , fileLength , fileModified , getLockFactory , getLockID , list , makeLock , openInput , renameFile , setLockFactory , touchFile |
LOCK_DIR
public static final String LOCK_DIR
As of 2.1, LOCK_DIR
is unused
because the write.lock is now stored by default in the
index directory. If you really want to store locks
elsewhere you can create your own SimpleFSLockFactory
(or NativeFSLockFactory
,
etc.) passing in your preferred lock directory. Then,
pass this LockFactory
instance to one of
the getDirectory
methods that take a
lockFactory
(for example, getDirectory(String,LockFactory)
).
Directory specified by org.apache.lucene.lockDir
or java.io.tmpdir
system property.
FSDirectory
protected FSDirectory()
close
public void close()
Closes the store to future operations.
- close in interface Directory
createOutput
public IndexOutput createOutput(String name)
throws IOException
Creates a new, empty file in the directory with the given name.
Returns a stream writing this file.
- createOutput in interface Directory
deleteFile
public void deleteFile(String name)
throws IOException
Removes an existing file in the directory.
- deleteFile in interface Directory
fileExists
public boolean fileExists(String name)
Returns true iff a file with the given name exists.
- fileExists in interface Directory
fileLength
public long fileLength(String name)
Returns the length in bytes of a file in the directory.
- fileLength in interface Directory
fileModified
public static long fileModified(File directory,
String name)
Returns the time the named file was last modified.
fileModified
public long fileModified(String name)
Returns the time the named file was last modified.
- fileModified in interface Directory
getDirectory
public static FSDirectory getDirectory(File file)
throws IOException
Returns the directory instance for the named location.
file
- the path to the directory.
- the FSDirectory for the named file.
getDirectory
public static FSDirectory getDirectory(File file,
boolean create)
throws IOException
Use IndexWriter's create flag, instead, to
create a new index.
Returns the directory instance for the named location.
file
- the path to the directory.create
- if true, create, or erase any existing contents.
- the FSDirectory for the named file.
getDirectory
public static FSDirectory getDirectory(File file,
LockFactory lockFactory)
throws IOException
Returns the directory instance for the named location.
file
- the path to the directory.lockFactory
- instance of LockFactory
providing the
locking implementation.
- the FSDirectory for the named file.
getDirectory
public static FSDirectory getDirectory(String path)
throws IOException
Returns the directory instance for the named location.
path
- the path to the directory.
- the FSDirectory for the named file.
getDirectory
public static FSDirectory getDirectory(String path,
boolean create)
throws IOException
Use IndexWriter's create flag, instead, to
create a new index.
Returns the directory instance for the named location.
path
- the path to the directory.create
- if true, create, or erase any existing contents.
- the FSDirectory for the named file.
getDirectory
public static FSDirectory getDirectory(String path,
LockFactory lockFactory)
throws IOException
Returns the directory instance for the named location.
path
- the path to the directory.lockFactory
- instance of LockFactory
providing the
locking implementation.
- the FSDirectory for the named file.
getDisableLocks
public static boolean getDisableLocks()
Returns whether Lucene's use of lock files is disabled.
- true if locks are disabled, false if locks are enabled.
getFile
public File getFile()
getLockID
public String getLockID()
Return a string identifier that uniquely differentiates
this Directory instance from other Directory instances.
This ID should be the same if two Directory instances
(even in different JVMs and/or on different machines)
are considered "the same index". This is how locking
"scopes" to the right index.
- getLockID in interface Directory
list
public String[] list()
Returns an array of strings, one for each Lucene index file in the directory.
- list in interface Directory
openInput
public IndexInput openInput(String name)
throws IOException
Returns a stream reading an existing file.
- openInput in interface Directory
renameFile
public void renameFile(String from,
String to)
throws IOException
Renames an existing file in the directory.
Warning: This is not atomic.
- renameFile in interface Directory
setDisableLocks
public static void setDisableLocks(boolean doDisableLocks)
Set whether Lucene's use of lock files is disabled. By default,
lock files are enabled. They should only be disabled if the index
is on a read-only medium like a CD-ROM.
toString
public String toString()
For debug output.
touchFile
public void touchFile(String name)
Set the modified time of an existing file to now.
- touchFile in interface Directory
Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.