gpt4 book ai didi

lucene.net - 无法删除 Lucene.Net 上的文档

转载 作者:行者123 更新时间:2023-12-02 03:43:56 32 4
gpt4 key购买 nike

我正在尝试删除文档,但我无法以任何方式删除它。与我的示例相关的具体事情是我使用 RAMDirectory 作为目录并且我使用的是 Lucene.Net 3.0.3 版本。我的例子如下。

    public void DeleteIndex(IndexWriter writer,IndexSearcher searcher)
{
var boolQuery = new BooleanQuery();

boolQuery.Add(new TermQuery(new Term("Id", "2")), Occur.MUST);
boolQuery.Add(new TermQuery(new Term("Type", "Product")), Occur.MUST);

writer.DeleteDocuments(boolQuery);
writer.Optimize(true);
//writer.Flush(true, true, true);//even this line doesn't help
writer.Commit();

var result = searcher.Search(boolQuery,1); // I can access deleted doc in search results
}

最佳答案

在 writer.Commit() 之后;您需要重新打开搜索器。

IndexReader newReader = YOURIndexReader.Reopen(true);
searcher= new IndexSearcher(newReader );
...

这里的代码示例只是示例,不是工作代码(!),我相信你可以从这里继续...

关于lucene.net - 无法删除 Lucene.Net 上的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18295317/

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