Lucene4.3和Lucene3.5性能对比(二)

前一篇是对数据做了最基本的处理,将所有的field都保存为了String,没有使用到NumberField,也没有进行分词,下面我做了对复杂索引的数据对比,工作环境以及数据同《Lucene4.3和Lucene3.5性能对比(一)》。

不同点:

  a、只要是数字值都以NumberField存储。

  b、对Name进行了分词。

补充一点,数据不是仅仅《一》中json格式数据的简单重复,有充足的数据。

1、先看下复杂数据项下,lucene3.5和lucene4.3的耗时时间对比,已经没有在单字符串情况下差别那么大。

2、统计了下索引时内存消耗情况,做索引时都是设置的1024的堆内存,看着4.3的曲线应该是耗尽堆内存、持久化再占用的意思,还需要查下代码。

3、继续统计了索引后索引数据站用硬盘的空间,在这项指标里4.5的占用空间小了很多,压缩比(其实占用空间都是变大了,毕竟有数据结构,增加了冗余)要强过lucene3.5。

4、继续统计复杂索引情况下,范围查询、分词后查询、查询时排序的情况,为了有直观的比较,分别绘制了曲线图,如下:

 a、按范围查询

  b、分词后查询

  c、查询时排序

 

发现,在做这些查询时,基本3.5的效率仍然高于4.3,但是从索引处得到启发,可能当查询逻辑变得非常复杂后,4.3的优势才能发挥?待验证,不过可喜的是,索引占用硬盘空间确实变小了

posted @ 2013-07-12 18:36  星火照天明  阅读(692)  评论(0编辑  收藏  举报