posted @ 2009-02-16 14:45 eaglet 阅读(2521) 评论(1) 推荐(1) 编辑
posted @ 2009-02-16 14:37 eaglet 阅读(2243) 评论(0) 推荐(0) 编辑
|
|||
摘要:
4.3 索引创建过程
文档的索引过程是通过DocumentsWriter的内部数据处理链完成的,DocumentsWriter可以实现同时添加多个文档并将它们写入一个临时的segment中,完成后再由IndexWriter和SegmentMerger合并到统一的segment中去。DocumentsWriter支持多线程处理,即多个线程同时添加文档,它会为每个请求分配一个DocumentsWriterThreadState对象来监控此处理过程。处理时通过DocumentsWriter初始化时建立的DocFieldProcessor管理的索引处理链来完成的,依次处理为DocFieldConsumers、DocInverter、TermsHash、FreqProxTermsWriter、TermVectorsTermsWriter、NormsWriter以及StoredFieldsWriter等。
阅读全文
posted @ 2009-02-16 14:27 eaglet 阅读(2233) 评论(1) 推荐(0) 编辑
摘要:
4 索引是如何创建的
为了使用Lucene来索引数据,首先你比把它转换成一个纯文本(plain-text)tokens的数据流(stream),并通过它创建出Document对象,其包含的Fields成员容纳这些文本数据。一旦你准备好些Document对象,你就可以调用IndexWriter类的addDocument(Document)方法来传递这些对象到Lucene并写入索引中。当你做这些的时候,Lucene首先分析(analyzer)这些数据来使得它们更适合索引。详见《Lucene In Action》 阅读全文
posted @ 2009-02-16 14:23 eaglet 阅读(3647) 评论(1) 推荐(0) 编辑
摘要:
3.3.6 Term向量文件
Term向量(vector)的支持是field基本组成中对一个field来说的可选项,它包含如下4种文件:
阅读全文
posted @ 2009-02-16 14:00 eaglet 阅读(1912) 评论(0) 推荐(0) 编辑
摘要:
3.3.3 Term频率数据(.frq)
Term频率数据文件(.frq文件)存储容纳了每一个term的文档列表,以及该term出现在该文档中的频率(出现次数frequency,如果omitTf设置为fals时才存储)。 阅读全文
posted @ 2009-02-13 14:56 eaglet 阅读(3182) 评论(0) 推荐(0) 编辑
摘要:
Lucene使用文件扩展名标识不同的索引文件,文件名标识不同版本或者代(generation)的索引片段(segment)。如.fnm文件存储域Fields名称及其属性,.fdt存储文档各项域数据,.fdx存储文档在fdt中的偏移位置即其索引文件,.frq存储文档中term位置数据,.tii文件存储term字典,.tis文件存储term频率数据,.prx存储term接近度数据,.nrm存储调节因子数据,另外segments_X文件存储当前最新索引片段的信息,其中X为其最新修改版本,segments.gen存储当前版本即X值,这些文件的详细介绍上节已说过了。 阅读全文
posted @ 2009-02-13 14:37 eaglet 阅读(4094) 评论(0) 推荐(0) 编辑
摘要:
为了使用Lucene来索引数据,首先你得把它转换成一个纯文本(plain-text)tokens的数据流(stream),并通过它创建出Document对象,其包含的Fields成员容纳这些文本数据。一旦你准备好些Document对象,你就可以调用IndexWriter类的addDocument(Document)方法来传递这些对象到Lucene并写入索引中。当你做这些的时候,Lucene首先分析(analyzer)这些数据来使得它们更适合索引。详见《Lucene In Action》 阅读全文
posted @ 2009-02-13 14:28 eaglet 阅读(3411) 评论(2) 推荐(0) 编辑 |
|||