优化Lucene性能

时间:2009-03-21 00:15:24

标签: lucene lucene.net

优化Lucene性能的各种方法有哪些?

我应该使用缓存API来存储我的lucene搜索查询,以便节省再次构建查询的开销吗?

5 个答案:

答案 0 :(得分:18)

答案 1 :(得分:12)

快速提示:

  • 保持索引的大小。消除规范,不需要时的术语向量。只有在必填时才为字段设置Store标志。
  • 明显但经常重复的错误。只创建一个Searcher实例并重复使用。
  • 保留快速磁盘上的索引。 RAM,如果你是偏执狂。

答案 2 :(得分:4)

作弊。使用RAMDirectory将整个索引加载到ram中。之后,一切都在快速发展。 :)

答案 3 :(得分:4)

这里有很多死链接。

这些(有些官方)资源是我要开始的地方:

http://wiki.apache.org/lucene-java/ImproveIndexingSpeed

http://wiki.apache.org/lucene-java/ImproveSearchingSpeed

答案 4 :(得分:3)

我发现性能问题的最佳答案是对其进行分析。指南很棒,但有很多变量会影响性能,例如数据集的大小,正在执行的查询类型,数据类型等。

获取Netbeans profiler或类似内容,并以不同方式尝试。使用Mitch链接的文章,但要确保你真正测试了什么有用,哪些(通常是令人惊讶的)疼痛。

代码中的性能改进相比,您可以从Lucene获得的任何性能差异都很小。探查器也会指出这一点。

相关问题