`
ginge
  • 浏览: 212149 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Lucene 2.4.0的性能

阅读更多

一直在使用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行,每行做成一个LuceneDocument

1.08G大小的日志文件,总共9076020行 每行做成一个LuceneDocument

 

测试用例:

170M大小的日志文件commit every 10000 documentsField.Store.YES,默认设置

索引时间

索引大小

搜索时间

138

240M

首次187ms,后续平均25ms

170M大小的日志文件 Field.Store.NO

MaxBufferedDocs 10000MaxFieldLength 10240MergeFactor 1000, RAMBufferSizeMB 32

索引时间

索引大小

搜索时间

68

68.8M

首次203ms,后续平均45ms

1.08G大小的日志文件 Field.Store.NO

MaxBufferedDocs 10000MaxFieldLength 10240MergeFactor 1000, RAMBufferSizeMB 32

索引时间

索引大小

搜索时间

598

317M

首次469ms,后续平均93ms,后续MAX 453ms,后续MIN 16ms

 

 

1.08G大小的日志文件,主从索引,Merge every 100,000 Documents Field.Store.NO

MaxBufferedDocs 10000MaxFieldLength 10240MergeFactor 1000, RAMBufferSizeMB 32

索引时间

索引大小

搜索时间

378

317M

首次406ms,后续平均87ms,后续MAX 406ms,后续MIN 0ms

1.08G大小的日志文件,主从索引,Merge every 500,000 Documents Field.Store.NO

MaxBufferedDocs 10000MaxFieldLength 10240MergeFactor 1000, RAMBufferSizeMB 32

索引时间

索引大小

搜索时间

387

317M

首次407ms,后续平均90ms,后续MAX 422ms,后续MIN 0ms

 

看到这样的测试数据,心理总算踏实多了。应该说如果不对Lucene的索引配置做一些调整,索引时间确实挺长的。用上面170M文件,200多万行记录来说,配置前后相差了一半的时间。1G多文件,900多万行记录索引也只用了598秒,速度也不慢吧。后面用的主从索引模式更是将索引速度提高到380秒左右。搜索速度也还可以。

 

Lucene 2.3版本之后对性能方面做了比较大的提升,因此这里的测试数据才比较好看吧。也难怪大佬们对它恨铁不成钢的。

 

3
0
分享到:
评论
1 楼 ginge 2009-08-09  
是的,很多东西如果不是亲身见过或者做过,真的很难相信。

相关推荐

    Lucene2.4.0(jar包+高亮包)

    **Lucene 2.4.0 知识点详解** Lucene 是一个开源的全文搜索引擎库,由 Apache 软件基金会开发并维护。在版本 2.4.0 中,它提供了强大的文本检索功能,使得开发者能够快速、高效地在大量数据中搜索相关信息。这个...

    lucene-2.4.0-src.zip

    在Lucene 2.4.0中,查询性能的提升主要体现在查询优化和缓存策略上。`BitSet`类用于高效地存储和操作位集,加速了匹配文档的查找。`Filter`和`QueryWrapperFilter`等过滤器类允许对查询结果进行进一步筛选,而`...

    lucene-2.4.0 jar包

    - **改进的性能**:在 2.4.0 版本中,Lucene 对搜索速度和内存使用进行了优化,提供了更快的索引和搜索体验。 - **增强的稳定性**:修复了前一版本中的许多错误,提高了整体的系统稳定性和可靠性。 - **扩展性**:...

    基于lucene2.4.0的开发jar包

    《深入剖析Lucene 2.4.0:核心与扩展》 Lucene是一个开源全文搜索引擎库,由Apache软件基金会开发并维护。在2.4.0版本中,Lucene为开发者提供了一套强大的文本检索和分析工具,使得构建高效、可扩展的搜索应用成为...

    lucene2.4.0

    7. 多线程支持:Lucene 2.4.0支持多线程索引和搜索,提升了性能。 四、实际应用 Lucene 2.4.0被广泛应用于各种搜索场景,如企业内部知识库搜索、电商产品搜索、邮件搜索等。通过结合其他开源项目,如Solr和Elastic...

    lucene-2.4.0.rar

    - **性能优化**:Lucene 2.4.0对内部数据结构进行了优化,提升了搜索速度和内存使用效率。 - **多字段搜索**:支持同时在多个字段上执行搜索,提供了更灵活的查询方式。 - **查询解析器**:新的查询解析器...

    lucene-core-2.4.0的源码

    《深入剖析Lucene 2.4.0源码》 Lucene是一款强大的全文搜索引擎库,由Apache软件基金会开发,广泛应用于各种搜索应用中。这里我们聚焦于Lucene 2.4.0版本的源码,这是一份珍贵的学习资料,对于理解Lucene的工作原理...

    最全的lucene-2.4.0jar包

    开发者可以通过这个版本学习Lucene的基础,然后将其应用到更现代的版本中,以利用最新的特性和性能优化。对于初学者来说,这个全面的压缩包是一个极好的起点,包含了学习和实践Lucene所需的一切。

    Lucene.net2.4.0

    Lucene.NET 2.4.0是对原生Java版Lucene的.NET平台移植,保持了与原版的高度兼容性,同时优化了.NET环境下的性能表现。 **二、主要特性** 1. **跨平台支持**:Lucene.NET 2.4.0支持.NET Framework,同时兼容.NET ...

    lucene-core-2.4.0.jar

    《Lucene核心技术详解——以lucene-core-2.4.0.jar为例》 Apache Lucene是一个开源全文搜索引擎库,它为开发者提供了强大的文本搜索功能。本文将以“lucene-core-2.4.0.jar”这一特定版本为例,深入探讨Lucene的...

    lucene-core-2.3.0 lucene-core2.4.0以及极易分词器 jar包

    `lucene-core-2.4.0` 是对2.3.0的一个更新,通常会包含错误修复、性能改进和新特性的添加。尽管版本号只相差一个小版本,但在实际应用中可能会带来一些显著的变化,比如搜索效率的提高或者API的小幅调整。 同时,...

    使用lucene全文检索数据库

    在这个项目中,我们将探讨如何利用Lucene 2.4.0版本与Access数据库结合,实现对数据库内容的全文检索。 首先,我们需要理解Lucene的基本工作原理。Lucene的核心概念包括文档(Document)、字段(Field)和索引...

    搜索引擎开发工具包--lucene

    值得注意的是,尽管这里给出的是Lucene 2.4.0版本,Lucene已经发展到了更高级的版本,新版本通常会包含更多的优化和新特性。因此,在实际项目中,建议使用最新稳定版本以获取最佳性能和兼容性。 总之,Lucene是一个...

    elasticsearch-2.4.0

    1. **性能优化**:2.4.0版本针对查询性能进行了优化,提高了搜索速度和内存效率。 2. **稳定性提升**:修复了多个已知问题,提升了系统的稳定性和可靠性。 3. **新功能**:引入了一些新的特性和改进,比如更强大的...

    Lucene.Net_2_4_0.rar

    **Lucene.Net 2.4.0:全中文解析与应用** **一、Lucene.Net 简介** Lucene.Net 是 Apache Lucene 的 .NET 版本,它是一个高性能、可扩展的信息检索库,提供了强大的全文搜索功能。Lucene.Net 采用 C# 语言编写,...

    elasticsearch2.4.0全文搜索引擎【亲测】.zip

    Elasticsearch 2.4.0 是一个流行的开源全文搜索引擎,它基于 Lucene 库,提供了分布式、实时、可扩展的搜索和分析能力。在这个压缩包中,包含了作者亲测的学习资料,特别是针对 PHP 开发者在 CentOS7 操作系统上的...

    jpytnon-NEW -1.0

    结合以上信息,这个项目可能是在尝试利用 Jython 将 Lucene(一个强大的 Java 全文搜索引擎)集成到 Python 2.6 环境中,特别适用于 Windows 32 位系统,并且是一个较早的实现,可能考虑了当时的兼容性和性能需求。...

    Compass技术文档

    - **Lucene**:Apache Lucene是一个用Java编写的高性能全文搜索引擎库。它提供了丰富的API用于构建索引、执行查询等操作。Lucene的核心功能包括文档索引、文本解析、索引搜索等。开发者可以根据需要自定义索引规则,...

Global site tag (gtag.js) - Google Analytics