- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 Lucene 7.5.0 两阶段生成索引文件之第一阶段
在前面的文章中,介绍了大部分的索引文件的数据结构,而从这篇文章开始,用两篇文章的篇幅来介绍例如索引文件是如何生成的,索引文件之间生成的先后顺序等内容。 索引文件两个阶段生成:第一阶段:添加文档阶段,也就是IndexWriter调用addDocument(..)或updateDocument(...),在此阶段会生成.fdx、.fdt、.tvd、tvx索引文件 第二阶段:flush或c...
2019-05-22 20:48:01 184
原创 Lucene7.5.0 MergeScheduler 之 ConcurrentMergeScheduler
MergeScheduler用来定义如何执行一个或多个段的合并,当合并策略TieredMergePolicy提供了一个或多个OneMerge(这个名词的概念在LogMergePolicy已经介绍,不赘述)后,MergeScheduler来安排这些OneMerge的合并,比如执行先后顺序,磁盘IO限制。Lucene7.5.0中有三种MergeScheduler的实现,分别是NoMergeSche...
2019-05-19 21:12:29 346
原创 Lucene7.5.0 TieredMergePolicy
这篇文章介绍TieredMergePolicy,它是Lucene4以后的默认段的合并策略,之前采用的合并策略为LogMergePolicy,建议先熟悉LogMergePolicy后再了解TieredMergePolicy,这样对于两种合并策略的优缺点能一目了然,使得在不同业务使用对应的策略,其中两种合并策略最大的不同是: LogMergePolicy总是合并相邻的段文件,合并相邻的段文...
2019-05-16 00:30:12 390
原创 Lucene 7.5.0 LogMergePolicy
本篇文章介绍索引文件的合并策略,某次提交(commit)或者刷新(flush)的所有索引文件属于一个新的段(Segment),所以也可以称为段合并(Segment Merge)。当IndexWriter索引中的数据有任意修改动作,它会调用findMerges(...)方法通过某个合并策略(MergePolicy)来找出需要合并的段集,如果需要合并,那么合并策略会返回一个oneMerge的集合,o...
2019-05-13 14:18:57 163
原创 Lucene 7.5.0 LRUQueryCache
LRUQueryCache用来对一个Query查询的结果进行缓存,缓存的内容仅仅是文档号集,由于不会缓存文档的打分(Score),所以只有不需要打分的收集器(Collector)才可以使用LRUQueryCache,比如说TotalHitCountCollector收集器,另外缓存的文档号集使用BitDocIdSet对象进行存储,在BitDocIdSet中实际使用了FixedBitSet对象进行存...
2019-05-06 14:48:09 382
Lucene DocValues介绍
2019-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人