我们有一个小索引 - 大小不到1MB,涵盖大约10,000个文档。存储的唯一字段非常短,这解释了小索引大小。
将文档加载到索引中后,现有文档的更新可能需要1到2秒(尽管此范围存在很大差异)。我们已经尝试过使用各种最佳实践(例如Lucene wiki中的那些),但无法找到错误。我们甚至已经开始使用RAMDirectory来消除IO成为问题的可能性。
这真的是期待的表现吗?
更新 如下所述,我正在添加更多细节:
答案 0 :(得分:0)
概述整个更新过程的代码段会有所帮助。你是在每次更新后提交的吗?这不是必需的,为了获得最佳性能,您必须使用近实时读取器。较新的Lucene版本有一个NRTManager,可以处理所涉及的大部分样板。
在许多情况下,最佳做法是很少或从不提交(除非关闭时)。如果您的服务不合理地关闭,您将丢失索引,但即使您没有,也必须在重新启动时重建它以解释同时发生的所有更改。