See: Description
| Package | Description | 
|---|---|
| org.apache.lucene.document | Misc extensions of the Document/Field API. | 
| org.apache.lucene.index | Misc index tools and index support. | 
| org.apache.lucene.misc | Miscellaneous index tools. | 
| org.apache.lucene.search | Misc search implementations. | 
| org.apache.lucene.store | Misc Directory implementations. | 
| org.apache.lucene.uninverting | Support for creating docvalues on-the-fly from the inverted index at runtime. | 
| org.apache.lucene.util.fst | Misc FST classes. | 
NOTE: This uses C++ sources (accessible via JNI), which you'll have to compile on your platform.
NativeUnixDirectory is a Directory implementation that bypasses the
OS's buffer cache (using direct IO) for any IndexInput and IndexOutput
used during merging of segments larger than a specified size (default
10 MB).  This avoids evicting hot pages that are still in-use for
searching, keeping search more responsive while large merges run.
See this blog post for details. Steps to build:
NativePosixUtil.cpp/java also expose access to the posix_madvise, madvise, posix_fadvise functions, which are somewhat more cross platform than O_DIRECT, however, in testing (see above link), these APIs did not seem to help prevent buffer cache eviction.
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.