Lucene.net" DeleteDocuments"不删除文件

时间:2014-04-05 00:24:47

标签: c# .net lucene.net lucene

我最近从nuget更新了Lucene.net,DeleteDocuments停止了工作。以下代码与我正在做的类似...这是从" orchard cms"复制的。我注意到类似的问题,但解决方案与我的情况无关。有人遇到同样的问题吗?

public void Delete(string indexName, IEnumerable<int> documentIds) {
    documentIds = documentIds.ToArray();

    if (!documentIds.Any()) {
        return;
    }

    using(var writer = new IndexWriter(indexName, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29), false, IndexWriter.MaxFieldLength.UNLIMITED)) {
        var query = new BooleanQuery();

        try {
            foreach (var id in documentIds) {
                query.Add(new BooleanClause(new TermQuery(new Term("id", id.ToString(CultureInfo.InvariantCulture))), Occur.SHOULD));
            }

            writer.DeleteDocuments(query);
        }
        catch (Exception ex) {
            Logger.Error(ex, "An unexpected error occured while removing the documents [{0}] from the index [{1}].", String.Join(", ", documentIds), indexName);
        }
    }
}

0 个答案:

没有答案
相关问题