gpt4 book ai didi

java - Lucene从索引文件中获取所有未删除的文档

转载 作者:行者123 更新时间:2023-12-01 22:17:21 25 4
gpt4 key购买 nike

我正在尝试从 Lucene Index 中获取所有文档(尚未删除)。

我听说如果我从 Lucene Index 中删除某些内容,Lucene 不会立即从文件中删除。

所以我想从索引文件中获取未删除的文档。

最佳答案

Lucene 提供了所有未删除文档的位集,称为 liveDocs。您可以通过iterating获取覆盖所有 LeafReader(或使用 SlowCompositeReaderWrapper )并调用 liveDocs方法或使用 MultiFields类。

一旦你有了这个位集,你就可以从0迭代到IndexReader#maxDoc并查阅位集以了解 docid 是否代表已删除的文档或 Activity 文档。您可以访问已删除文档的所有存储字段,就像访问实时文档一样。

但是,一旦某个段被合并,其删除的文档将被永久删除,从而从索引中删除。

关于java - Lucene从索引文件中获取所有未删除的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30732164/

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