eaglet

本博专注于基于微软技术的搜索相关技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年2月16日

摘要: 这是一篇公司的内部培训教材,其中中的内容涵盖LUCENE的方方面面,从源代码角度深入剖析LUCENE,如果要对LUCENE有更加深入的了解(专家级别),这篇技术文档必不可少。 前提:对LUCENE有一定程度的了解,否则会让你云里雾里 阅读全文

posted @ 2009-02-16 14:53 eaglet 阅读(6156) 评论(3) 推荐(0) 编辑

摘要: 如何给文档评分 阅读全文

posted @ 2009-02-16 14:45 eaglet 阅读(2521) 评论(1) 推荐(1) 编辑

摘要: 文档内容是如何分析的 阅读全文

posted @ 2009-02-16 14:37 eaglet 阅读(2243) 评论(0) 推荐(0) 编辑

摘要: 5 索引是如何存储的 阅读全文

posted @ 2009-02-16 14:33 eaglet 阅读(2181) 评论(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) 编辑