随笔分类 -  Lucene研究

摘要:相关的类调用关系DocumentsWriterPerThread ——>DocFieldProcessorDocumentsWriterPerThread里的consumer对象(类型是DocFieldProcessor)负责field的内数据的存储1 consumer.processDocumen... 阅读全文
posted @ 2014-10-21 17:33 白帆mvp 阅读(544) 评论(0) 推荐(0)
摘要:昨天给公司同事们介绍了lucene相关度打分的公式,大家提到了一个问题,总感觉用相关度排序的时候,lucene会把查询关键字相邻紧密的doc排在前面,但是打分公式里面却没提到过这个因素,所以我现在来验证下查询词的紧密程度是否会影响打分。局部代码添加doc程序1 设置lucene保存field的所有信... 阅读全文
posted @ 2014-10-19 13:36 白帆mvp 阅读(301) 评论(0) 推荐(0)
摘要:Lucene Vint压缩策略是,用每个字节的最高位做标志位,后7位为有效算术位,如果标志位为1,则说明后一个字节和当前字节是同一个数字,为0说明后一个字节是一个新的数字Lucene源代码中进行存储和读取是这样的。OutputStream是负责写:1/**Writesanintinavariable... 阅读全文
posted @ 2014-10-19 13:33 白帆mvp 阅读(1365) 评论(0) 推荐(0)
摘要:DocFieldProcessor类的任务1 按顺序存储所有的field和对应的fieldinfo2 为当前这篇doc的field按照fieldname来建立hash索引3 调用InvertedDocConsumer类(抽象),对field的内容分词和建立内存索引DocFieldProcessor类... 阅读全文
posted @ 2014-10-19 11:25 白帆mvp 阅读(342) 评论(0) 推荐(0)