lucene 索引是如何存储的

lucene 索引是如何存储的

ID:33562233

大小:253.50 KB

页数:5页

时间:2019-02-27

lucene 索引是如何存储的_第1页
lucene 索引是如何存储的_第2页
lucene 索引是如何存储的_第3页
lucene 索引是如何存储的_第4页
lucene 索引是如何存储的_第5页
资源描述:

《lucene 索引是如何存储的》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Lucene源码剖析5          索引是如何存储的  5.1  数据存储类Directory     Directory及相关类负责文档索引的存储。  5.1.1      org.apache.lucene.store.Directory   一个Directory对象是一系列统一的文件列表(aflatlistoffiles)。文件可以在它们被创建的时候一次写入,一旦文件被创建,它再次打开后只能用于读取(read)或者删除(delete)操作。并且同时在读取和写入的时候允许随机访问(randomaccess)。  在这

2、里并不直接使用JavaI/OAPI,但是更确切地说,所有I/O操作都是通过这个API处理的。这使得读写操作方式更统一起来,如基于内存的索引(RAM-basedindices)的实现(即RAMDirectory)、通过JDBC存储在数据库中的索引、将一个索引存储为一个文件的实现(即FSDirectory)。  Directory的锁机制是一个LockFactory的实例实现的,可以通过调用Directory实例的setLockFactory()方法来更改。  5.1.2      org.apache.lucene.store.F

3、SDirectory    FSDirectory类直接实现Directory抽象类为一个包含文件的目录。目录锁的实现使用缺省的SimpleFSLockFactory,但是可以通过两种方式修改,即给getLockFactory()传入一个LockFactory实例,或者通过调用setLockFactory()方法明确制定LockFactory类。  目录将被缓存(cache)起来,对一个指定的符合规定的路径(canonicalpath)来说,同样的FSDirectory实例通常通过getDirectory()方法返回。这使得同步

4、机制(synchronization)能对目录起作用。    5.1.3      org.apache.lucene.store.RAMDirectory    RAMDirectory类是一个驻留内存的(memory-resident)Directory抽象类的实现。目录锁的实现使用缺省的SingleInstanceLockFactory,但是可以通过setLockFactory()方法修改。      5.1.4      org.apache.lucene.store.IndexInput    IndexInput类是

5、一个为了从一个目录(Directory)中读取文件的抽象基类,是一个随机访问(random-access)的输入流(inputstream),用于所有Lucene读取Index的操作。BufferedIndexInput是一个实现了带缓冲的IndexInput的基础实现。     5.1.5      org.apache.lucene.store.IndexOutput   IndexOutput类是一个为了写入文件到一个目录(Directory)中的抽象基类,是一个随机访问(random-access)的输出流(output

6、stream),用于所有Lucene写入Index的操作。BufferedIndexOutput是一个实现了带缓冲的IndexOutput的基础实现。RAMOuputStream是一个内存驻留(memory-resident)的IndexOutput的实现类。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。