Lucene 索引拆分大小库设计
原文: http://tangfl.yo2.cn/
TangFulin <tangfulin#gmail.com>
一. Index Writer:
1. IndexRebuilder 只重建一个索引,建成后替换 IndexUpdater 的大库,替换的同时清空 IndexUpdater 的小库
2.IndexUpdater维护2个索引:大库和小库,定期合并小库到大库(同时合并delete记录),并清空小库
3.add:添加到小库
4.delete:删除大库里的原记录,删除小库里的原记录
5. update:删除大库里的原记录,删除小库里的原记录,add 到小库二. Index Transfer:(rsync updater 的新索引到 Index Searcher)
1. 增量传送大库和小库的内容到 searcher 的接收目录
2.如果小库有改动,拷贝小库到dest目录(滚动目录)
3.如果大库有改动,拷贝大库到bigidxdest目录(不滚动目录,直接覆盖)
4. TODO:bigidxdest 传输出错,不一致的索引的处理三. Index Searcher
1. 定期检测大库和小库的改动,如果有改动则打开
2.小库有改动:打开新的索引,预热,滚动
3. 大库有改动:reopen四. Index Cleaner
1. 定期清理已关闭或跳过的索引 (大库不需要清理)
五. Index Monitor
1. 监控
相关推荐
renjinlong 2020-09-03
Jacry 2020-07-04
IceStreamLab 2020-06-26
mengyue 2020-06-09
PasserbyX 2020-05-16
mameng 2020-05-12
心丨悦 2020-05-06
编码之路 2020-05-03
mengyue 2020-05-02
qiuzhuoxian 2020-02-23
编码之路 2020-02-20
lionelf 2020-02-03
TyCoding 2020-02-01
heniancheng 2020-01-31
某某某 2020-01-30
PinkBean 2020-01-29
某某某 2020-01-12
编码之路 2020-01-01
itmale 2020-01-01