Lucene.net 问题

问题描述 投票:0回答:1

我对 Lucene.net (rel 4.8.0-beta00016) 有疑问。我不太清楚创建索引和稍后打开索引以添加文档之间的区别。我创建了一个 C# 应用程序 - 使用框架版本 4.7.2 - 其中我有一个方法 CreateIndex() 编写如下:

public void CreateIndex()
{
    var Dir = FSDirectory.Open(this.IndexPathName); // Property IndexPathName contains the path that contains index
    var Analyzer = new StandardAnalyzer(AppLuceneVersion);
    var indexConfig = new IndexWriterConfig(AppLuceneVersion, Analyzer);
    this.iIndexWriter = new IndexWriter(Dir, indexConfig); 
}

如果在调用

CreateIndex()
后,我将文档添加到索引中,则一切正常。当我关闭应用程序时,问题就出现了。当我重新启动它以添加更多文件时,如果我调用
CreateIndex()
,索引文件将被覆盖。

我需要实现什么代码来打开现有索引以添加文档?

c# .net lucene.net
1个回答
0
投票

虽然可能还有其他方法,但使用 Lucene.NET 通常有 2 种常见策略:

  1. 在构建/部署期间创建索引,并在应用程序使用期间使用
    IndexReader
    进行搜索。
  2. 使用近实时搜索策略。这意味着您的应用程序将打开
    IndexWriter
    的单例实例。要阅读,您可以拨打
    IndexWriter.GetReader()
    。您可以使用
    IndexWriter
    的单例实例在运行时添加/删除/更新文档,同时进行读取。

我建议您还可以查看教程以及创建索引搜索索引的演示来开始使用。

© www.soinside.com 2019 - 2024. All rights reserved.