过量使用lucene好吗?

时间:2009-06-23 07:35:54

标签: performance lucene project workload

在我的项目中,整个内容的搜索和列表取决于Lucene。我没有遇到任何性能问题。尽管如此,该项目仍处于开发阶段,并且还有很长的路要走。

我必须在大型结构项目完成之前找出性能问题。 过量使用lucene是否可行?

5 个答案:

答案 0 :(得分:7)

例如,我在Lucene索引中有大约3 GB的文本,并且它的运行速度非常快(搜索,过滤器和排序的响应时间为毫秒)。该索引包含大约300,000个文档。

希望能为您的关注提供一些背景信息。这是在生产环境中。

答案 1 :(得分:3)

Lucene非常成熟,并且在设计目标方面表现非常出色。但是,它不是RDBMS。为了提高性能,您可以做的微调数量比数据库引擎更有限。

如果出现以下情况,你不应该只依赖于lucene:

  • 您需要经常更新
  • 您需要加入查询
  • 您需要复杂的备份解决方案

我会说,如果你的项目足够大,可以聘请DBA,你应该使用一个......

性能方面,我看到10个服务器上400GB索引的性能可以接受(单个(4GB,2CPU)服务器可以处理40GB的lucene索引,但不能更多.YMMV)。

答案 2 :(得分:1)

过度,你的意思是广泛/排他吗?

Lucene的表现一般都非常好。我最近在桌面上使用QuadCore @ 2.4 GHz 2.39 GHz

对Lucene进行了一些性能测试

我针对由10MM文档组成的磁盘索引运行了各种搜索查询,最慢的查询(MatchAllDocs)在1500毫秒内返回结果。使用两个或更多搜索词的搜索查询将返回大约100毫秒。

您可以为Lucene做很多性能调整,它们可以显着提高您的搜索速度。

答案 3 :(得分:0)

你认为什么是过度的?

如果您的应用程序设计坚固,性能良好,我不会太担心它。

也许您可以获得数据转储来测试实时场景中的性能。

答案 4 :(得分:0)

我们使用lucence来启用预先输入搜索。这意味着对于每个键入的字母,它都会触及lucence索引以获得结果。在多个界面上多达数十个文本框,再次输入数十名员工,没有投诉和极快的响应时间。 (实际上它比我们尝试的任何其他类型提前解决方案更快。)