Class MMapDirectory
File-based Directory implementation that uses
mmap for reading, and Simple
NOTE: memory mapping uses up a portion of the
virtual memory address space in your process equal to the
size of the file being mapped. Before using this class,
be sure your have plenty of virtual address space, e.g. by
using a 64 bit JRE, or a 32 bit JRE with indexes that are
guaranteed to fit within the address space.
On 32 bit platforms also consult Max
Due to this bug in Sun's JRE, MMapDirectory's Close() is unable to close the underlying OS file handle. Only when GC finally collects the underlying objects, which could be quite some time later, will the file handle be closed.
This will consume additional transient disk usage: on Windows, attempts to delete or overwrite the files will result in an exception; on other platforms, which typically have a "delete on last close" semantics, while such operations will succeed, the bytes are still consuming space on disk. For many applications this limitation is not a problem (e.g. if you have plenty of disk space, and you don't rely on overwriting files on Windows) but it's still an important limitation to be aware of.
This class supplies the workaround mentioned in the bug report
(disabled by default, see Usetrue
, if the workaround
can be enabled (with no guarantees).
Inherited Members
Namespace:
Assembly: Lucene.Net.NetCore.dll
Syntax
public class MMapDirectory : FSDirectory
Constructors
Name | Description |
---|---|
MMap |
Create a new MMapDirectory for the named location and the default lock factory. |
MMap |
Create a new MMapDirectory for the named location. |
Fields
Name | Description |
---|---|
UNMAP_SUPPORTED |
|
Properties
Name | Description |
---|---|
Max |
Gets or sets the maximum chunk size (default is |
Use |
Enables or disables the workaround for unmapping the buffers
from address space after closing Index NOTE: Enabling this is completely unsupported
by Java and may lead to JVM crashs if |
Methods
Name | Description |
---|---|
Create |
Creates an IndexOutput for the file with the given name. |
Open |
Creates an IndexInput for the file with the given name. |