gpt4 book ai didi

lucene - 如何从 Solr 索引中删除逻辑删除的文档?

转载 作者:行者123 更新时间:2023-12-02 08:06:21 25 4
gpt4 key购买 nike

我正在为一个项目实现 Solr 进行自由文本搜索,该项目每天需要大规模添加和删除可搜索的记录。

由于规模的原因,我需要确保索引的大小合适。

在 Solr 的测试安装中,我索引了一组 10 个文档。然后我对其中一个文档进行了更改,并希望替换索引中具有相同 ID 的文档。当我搜索时,它可以正常工作并按预期运行。

我正在使用此代码来更新文档:

getSolrServer().deleteById(document.getIndexId());
getSolrServer().add(document.getSolrInputDocument());
getSolrServer().commit();

但我注意到,当我查看 Solr 服务器的统计页面时,这些数字并不是我所期望的。

在初始索引之后,numDocs 和 maxDocs 均等于 10(如预期)。然而,当我更新文档时,numDocs 仍然等于 10(预期),但 maxDocs 等于 11(意外)。

在阅读文档时,我看到了

maxDoc may be larger as the maxDoc count includes logically deleted documents that have not yet been removed from the index.

所以问题是,如何从索引中删除逻辑删除的文档?

如果这些文档仍然存在于索引中,当使用大量文档运行时,我是否会面临性能损失的风险?

谢谢:)

最佳答案

你必须optimize your index .

请注意,优化是广泛的,您可能不应该超过每天进行一次。

以下是有关优化的更多信息:

http://www.lucidimagination.com/search/document/CDRG_ch06_6.3.1.3

http://wiki.apache.org/solr/SolrPerformanceFactors#Optimization_Considerations

关于lucene - 如何从 Solr 索引中删除逻辑删除的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3053425/

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