私はLucene.Netバージョン2.9.4.1を使用しています。
はここに私の検索サービスです:Lucene.Net - .csfファイルを削除するには?
public class FooSearchServiceLucene : IFooSearchService
{
private readonly Directory dir;
private readonly IndexWriter indexWriter;
private readonly IPersonRepository personRepository;
public PersonSearchServiceLucene(string luceneIndexDir, IFooRepository fooRepository)
{
this.fooRepository = fooRepository;
dir = FSDirectory.Open(new System.IO.DirectoryInfo(luceneIndexDir));
indexWriter = new IndexWriter(dir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29),
IndexWriter.MaxFieldLength.UNLIMITED);
}
...
public void RebuildSearchIndex()
{
// delete all documents
indexWriter.DeleteAll();
indexWriter.Commit();
// create a new index
var items = fooRepository.GetAll();
foreach (var item in items)
{
AddDocument(person);
}
indexWriter.Commit();
}
}
私は一度に一つだけIndexWriter
を持つことができますので、このFooSearchServiceLucene
は、シングルトンである、と私はNear real time search
機能を使用しています。 RebuildSearchIndex
メソッドを呼び出すと、すべて.del
ファイルが削除され、古い検索セグメントはファイルシステム上に存在し、新しい検索セグメントが作成されますか?
私のディスク容量は急速に拡大しています。 IIS
を再起動せずに古い.cfs
ファイルを削除するにはどうすればよいですか?
ご協力いただければ幸いです!
はあなたにもタイトルとタグに 'IIS'を追加する必要があります。.. – Matthias
しかし、私はIIS /アプリケーションプールと相互に作用することなく、これを処理したい –
はい、それにもかかわらず、それがいや、それはLuceneの'に近い関連IIS – Matthias