Lucene-7.5.0 icon indicating copy to clipboard operation
Lucene-7.5.0 copied to clipboard

lucene搜索过程中哪些是在内存中进行,哪在磁盘中进行

Open xiaoli233 opened this issue 2 years ago • 2 comments

Term dict index以FST的结构存缓存在内存中,从Term dict index查到关键词对应的term dic的块位置之后,再去磁盘上找term,大大减少了磁盘的IO次数。 1、(内存)内存加载tip文件,根据FST匹配到后缀词块在tim文件中的位置; 2、(内存)根据查询到的后缀词块位置查询到后缀及倒排表的相关信息; 3、(内存)根据tim中查询到的倒排表信息从doc文件中定位出文档号及词频信息,完成搜索; 4、(磁盘)文件定位完成后Lucene将去.fdx文件目录索引及.fdt中根据正向索引查找出目标文件 这个过程没问题吧?

xiaoli233 avatar Jul 17 '22 05:07 xiaoli233

没有问题,补充下第四点:读取存储域(即.fdx .fdt .fdm索引文件)跟DocValues一样都是根据文档号找域值。

LuXugang avatar Aug 03 '22 15:08 LuXugang

感谢,陆sir回复,惊喜~

xiaoli233 avatar Aug 05 '22 08:08 xiaoli233