RAMDirectory
在内存内索引,程序退出索引消失。
FSDirectory
FSDirectory是Lucene对文件系统的操作,它有下面五个子类SimpleFSDirectory、MmapDirectory、NIOFSDirectory、NativeUnixDirectory、WindowsDirectory
FSDirectory是一个抽象类,具体实现由子类来完成。
1、SimpleFSDirectory
最简单的FSDirectory子类,使用java.io.*API将文件存入文件系统中,不能很好支持多线程操作。
2、NIOFSDirectory
使用java.io.*API所提供的位置读取接口,能很好的支持除Windows之外的多线程操作,原因是Sun的JRE在Windows平台上长期存在问题。
NIOFSDirectory在Windows操作系统的性能比较差,甚至可能比SimpleFSDirecory的性能还差。
3、MmapDirectory
使用内存映射的I/O接口进行读操作,这样不需要采取锁机制,并能很好的支持多线程读操作。但由于内存映射的I/O所消耗的地址空间是与索引尺寸相等,所以建议最好只是 用64位JRE。
4.NativeUnixDirectory
适用于unix系统
5.WindowsDirectory
应用于windows系统
NRTCachingDirectory
用于近实时搜索
参考 http://yufenfei.iteye.com/blog/1751634