Как мне освободить все дескрипторы файла lucene .net? - PullRequest
0 голосов
/ 20 февраля 2011

Я хочу запустить процесс, который полностью уничтожает, а затем перестраивает мой поисковый индекс .net с нуля.

Я застрял на разрушающей части

Я звонил:

IndexWriter.Commit (); IndexWriter.Close (); Analyzer.Close (); foreach (имя переменной в Directory.ListAll ()) {Directory.ClearLock (name); Directory.DeleteFile (имя); } Directory.Close ();

, но процесс завершается сбоем, поскольку он все еще является обработчиком файла для файла '_0.cfs'

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 30 марта 2011

Просто позвоните IndexWriter.DeleteAll(), а затем IndexWriter.Commit(), он удалит содержимое индекса и позволит вам начать с пустого индекса, в то время как уже открытые читатели по-прежнему смогут читать данные до тех пор, пока не будут закрыты. Старые файлы будут автоматически удалены, когда они больше не используются.

0 голосов
/ 20 февраля 2011

Вы размещены в IIS? Попробуйте iisreset (иногда IIS держит сами файлы).

...