一直在使用Lucene,对它的性能也一直比较乐观,相信只要做适当的配置优化,性能总可以达到要求的。只是这两天连续在网上看到几个有影响力的人对它的印象不太好。
这是相关的链接:
亿级数据的高并发通用搜索引擎架构设计[原创]
JavaEye3.0开发手记之三 - 狮身人面
心里咯噔的一下子虚了,感觉又给Lucene忽悠了。Lucene自称性能也不错的,而且用户群体多。也有好几个语言版本,基于它开发的工具也多。怎么也这么儿戏呀。这世界真的没有可以信任了,那么多的食品安全事件,就像House的主角说的“Everybody lies”。
但是我这个人也比较执着,不是自己看到的数据却也不会死心的,于是决定自己亲身实验一番。
以下是测试环境:
CPU AMD Turion 64 *2, 1.80G
Memory 3G
Windows XP
Eclipse
Lucene-core 2.4.0
测试对象:
170M大小的日志文件,总共2071364行,每行做成一个Lucene的Document
1.08G大小的日志文件,总共9076020行, 每行做成一个Lucene的Document
测试用例:
170M大小的日志文件,commit every 10000 documents,Field.Store.YES,默认设置
|
索引时间
|
索引大小
|
搜索时间
|
138秒
|
240M
|
首次187ms,后续平均25ms
|
170M大小的日志文件, Field.Store.NO,
MaxBufferedDocs 10000,MaxFieldLength 10240,MergeFactor 1000, RAMBufferSizeMB 32
|
索引时间
|
索引大小
|
搜索时间
|
68秒
|
68.8M
|
首次203ms,后续平均45ms
|
1.08G大小的日志文件, Field.Store.NO,
MaxBufferedDocs 10000,MaxFieldLength 10240,MergeFactor 1000, RAMBufferSizeMB 32
|
索引时间
|
索引大小
|
搜索时间
|
598秒
|
317M
|
首次469ms,后续平均93ms,后续MAX 453ms,后续MIN 16ms
|
1.08G大小的日志文件,主从索引,Merge every 100,000 Documents, Field.Store.NO,
MaxBufferedDocs 10000,MaxFieldLength 10240,MergeFactor 1000, RAMBufferSizeMB 32
|
索引时间
|
索引大小
|
搜索时间
|
378秒
|
317M
|
首次406ms,后续平均87ms,后续MAX 406ms,后续MIN 0ms
|
1.08G大小的日志文件,主从索引,Merge every 500,000 Documents, Field.Store.NO,
MaxBufferedDocs 10000,MaxFieldLength 10240,MergeFactor 1000, RAMBufferSizeMB 32
|
索引时间
|
索引大小
|
搜索时间
|
387秒
|
317M
|
首次407ms,后续平均90ms,后续MAX 422ms,后续MIN 0ms
|
看到这样的测试数据,心理总算踏实多了。应该说如果不对Lucene的索引配置做一些调整,索引时间确实挺长的。用上面170M文件,200多万行记录来说,配置前后相差了一半的时间。1G多文件,900多万行记录索引也只用了598秒,速度也不慢吧。后面用的主从索引模式更是将索引速度提高到380秒左右。搜索速度也还可以。
Lucene 2.3版本之后对性能方面做了比较大的提升,因此这里的测试数据才比较好看吧。也难怪大佬们对它恨铁不成钢的。
分享到:
相关推荐
lucene jar 2.4.0使用jar包加高亮包.外加commons-logging-1.0.4包
lucene 2.4.0 最新jar包!
lucene-core-2.4.0.jar,lucene-analyzer-2.4.0.jar,lucene-highlighter-2.4.0.jar,je-analysis-1.5.3.jar
lucene-2.4.0-src.zip
lucene-highlighter-2.4.0.jar lucene highlighter
lucene-2.4.0 自己下的 !不知道对不对 lucene-2.4.0 自己下的 ! 可以用 我已经试过了 解压之后 更改后缀 再解压一次
lucene 2.4.0 javadoc api 是不能搜索的,不过资料都全,我还上了一个可以搜索的, 你在搜下
Apache Lucene.Net 2.4.0 API
这是一个开发搜索引擎的一个必备软件,压缩包里包含了所需要的配置文件
lucene-2.4.0.rar 最新搜索引擎开发jar包
lucene 2.4 jar lucene2.4版本的JAR包
很好 很全 这是比较新版的lucene的所有jar包 里面还有对应的demo 和 解说文档 对于搜索引擎是一个很好的工具。
lucene-core-2.4.0.jar 搜索引擎开发jar发包
内含lucene-core-2.3.0 lucene-core-2.4.0以及极易分词器je-analysis-1.5.1 很好用的分词器
chm 可搜索的 javadoc 关于 2.4.0版本
这是一个lucene-core-2.4.0源码 希望对正在研究Lucene的你们有更大的帮助。
java lucene 2.4.0 api 发现网上找不到...就自己做了个
NULL 博文链接:https://sunfish.iteye.com/blog/1415655
lucene-demos-2.4.0.jar