gpt4 book ai didi

Lucene专家: how best to run diagnostics against an IndexWriter to resolve performance issues?

转载 作者:行者123 更新时间:2023-12-02 09:15:31 24 4
gpt4 key购买 nike

我有一个索引,当前占用约 1GB 空间,包含约 250 万个文档。为了提高速度,索引存储在固态驱动器上。我一次添加 2500 个文档,并在每批添加后提交。该索引是“实时”索引,需要全天保持最新,因此最大限度地降低写入速度非常重要。我使用的合并因子为 10,并且从不调用 Optimize(),而是允许索引根据合并因子根据需要优化自身。

我需要在添加每个批处理后提交文档,因为我记录了这一事实,以便如果应用程序崩溃或重新启动,它可以从中断的地方继续。如果我不提交,存储的状态将与索引中的内容不一致。我假设如果编写器在未提交的情况下被销毁,我的添加、删除和更新都会丢失。

无论如何,我注意到在任意一段时间(可能是两分钟或两小时以及之前提交的一些可变数量)之后,索引器似乎在 IndexWriter.AddDocument(doc ) 方法,但我一生都无法弄清楚它为何停滞或如何修复它。该 block 可以保持在原地两个小时以上,对于在数百万个文档中占用不到 2GB 的索引并且需要使用 SSD 驱动器来说,这似乎很奇怪。

什么可能导致 AddDocument 阻塞?有任何 Lucene 诊断实用程序可以帮助我吗?我还可以寻找什么来找出问题?

最佳答案

您可以使用 IndexWriter.SetInfoStream() 将诊断输出重定向到一个流,该流可能会提示您出了什么问题。

关于Lucene专家: how best to run diagnostics against an IndexWriter to resolve performance issues?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7995191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com