gpt4 book ai didi

Lucene .Net 优化流程

转载 作者:行者123 更新时间:2023-12-02 04:23:26 24 4
gpt4 key购买 nike

我正在使用 Lucene .Net 2.9.2 创建索引。经过大量索引后,索引有很多段并删除了文档,因此我在 IndexWriter 上调用 Optimize(numSegmets)。

索引的段计数确实减少到numSegmets的值,但它仍然有删除...调用Optimize是否也应该删除所有已删除的文档?

我的问题非常重要,所以我可以知道这是否是 Lucene 的工作原理,或者我是否有一些错误......

编辑:这是我的代码片段:

IndexWriter writer = new IndexWriter(/*open writer from index directroy*/);
writer.Optimize(5);
writer.Commit();

bool hasDeletions = writer.HasDeletions();

hasDeletions 是 true,而我预计它会是 false...

最佳答案

除非您提供 1 作为最大分段数,否则删除可以保留。

但是你不应该担心这个。引用 IndexWriter#optimize in Lucene 3.5 的文档

This method has been deprecated, as it is horribly inefficient and very rarely justified. Lucene's multi-segment search performance has improved over time, and the default TieredMergePolicy now targets segments with deletions.

关于Lucene .Net 优化流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9461937/

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