Mar*_*ace 8 java lucene full-text-search
有许多类型的目录类型可用于构建Lucene索引.哪一个最适合提高RedHat机器的搜索速度(不确定操作系统是否相关)?
RAMDirectory - 不能用,索引太大了SimpleFSDirectory - 不能是这个,因为它'简单'......MMapDirectory - 也许这个?NIOFSDirectory - 或者这个?Any better options?除非你有充分的理由选择其中一个,我建议你简单地打电话FSDirectory.open(File).这使得Lucene能够决定哪种实现是理想的.
对于好奇,这是决定如何做出的:
public static FSDirectory open(File path, LockFactory lockFactory) throws IOException {
if ((Constants.WINDOWS || Constants.SUN_OS || Constants.LINUX)
&& Constants.JRE_IS_64BIT && MMapDirectory.UNMAP_SUPPORTED) {
return new MMapDirectory(path, lockFactory);
} else if (Constants.WINDOWS) {
return new SimpleFSDirectory(path, lockFactory);
} else {
return new NIOFSDirectory(path, lockFactory);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想确保获得理想的选择而不是那个,我只能推荐尝试它们和分析,看看哪个提供了最佳性能.