Lucene索引结构漫谈
版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | http://vearne.cc 前言 注意: 本文基于Lucene 3.0.2, 目前Lucene的版本最新已经是7.3.x 虽然Lucene的版本变化较大, 但是索引结构已经构建它的核心思想并没有发生。 Lucene是solr和Elasticsearch的基础,汽车中的引擎,它的每次改版都会引起上层系统的巨大变化。研究它对于提升查询性能,降低存储开销有非常大的帮助。 笔者有三年多的ES使用经验,但是真正踏踏实实探究Lucene和ES也是最近时间的事情。 重要 首先,推荐的是一本书《Lucene实战》这本书的作者有好几个都是Lucene的核心开发人员,因此对Lucene的理解是非常透彻的, 非常推荐。 推荐索引文件的查看工具Luke, 它可以打开Lucene和ES的索引文件,直观的观察它们的内部数据 1. 索引文件列表 Lucene有2种文件格式 1.1 CompoundFile == false -rw-r--r-- 1 zhuwei wheel 1471 6 5 15:44 _2.fdt -rw-r--r-- 1 zhuwei wheel 12 6 5 15:44 _2.fdx -rw-r--r-- 1 zhuwei wheel 66 6 5 15:44 _2.fnm -rw-r--r-- 1 zhuwei wheel 323 6 5 15:44 _2.frq -rw-r--r-- 1 zhuwei wheel 8 6 5 15:44 _2.nrm -rw-r--r-- 1 zhuwei wheel 442 6 5 15:44 _2.prx -rw-r--r-- 1 zhuwei wheel 61 6 5 15:44 _2.tii -rw-r--r-- 1 zhuwei wheel 2611 6 5 15:44 _2.tis -rw-r--r-- 1 zhuwei wheel 9 6 5 15:44 _2.tvd -rw-r--r-- 1 zhuwei wheel 1647 6 5 15:44 _2.tvf -rw-r--r-- 1 zhuwei wheel 20 6 5 15:44 _2.tvx -rw-r--r-- 1 zhuwei wheel 20 6 5 15:44 segments.gen -rw-r--r-- 1 zhuwei wheel 233 6 5 15:44 segments_4 1.2 CompoundFile == true total 33976 -rw-r--r-- 1 zhuwei wheel 2459065 7 31 13:17 _0.cfs -rw-r--r-- 1 zhuwei wheel 13468962 7 31 13:17 _0.cfx -rw-r--r-- 1 zhuwei wheel 1451842 7 31 13:17 _1.cfs -rw-r--r-- 1 zhuwei wheel 20 7 31 13:17 segments.gen -rw-r--r-- 1 zhuwei wheel 442 7 31 13:17 segments_2 组合文件只是将原来放在多个文件中的数据整合到少数的几个文件中,减少了打开的文件描述符的数量,其它并没有大的区别,所以我们重点来看非组合文件。 ...