摘要:
这是一篇公司的内部培训教材,其中中的内容涵盖LUCENE的方方面面,从源代码角度深入剖析LUCENE,如果要对LUCENE有更加深入的了解(专家级别),这篇技术文档必不可少。
前提:对LUCENE有一定程度的了解,否则会让你云里雾里 阅读全文
posted @ 2009-02-16 14:53 eaglet 阅读(6156) 评论(3) 推荐(0) 编辑
|
|||
摘要:
这是一篇公司的内部培训教材,其中中的内容涵盖LUCENE的方方面面,从源代码角度深入剖析LUCENE,如果要对LUCENE有更加深入的了解(专家级别),这篇技术文档必不可少。
前提:对LUCENE有一定程度的了解,否则会让你云里雾里 阅读全文
posted @ 2009-02-16 14:53 eaglet 阅读(6156) 评论(3) 推荐(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) 编辑 |
|||