Моего вопроса, связанного с следующим фрагментом кода:Lucene .NET IndexWriter блокировка
static void Main(string[] args)
{
Lucene.Net.Store.Directory d = FSDirectory.Open(new DirectoryInfo(/*my index path*/));
IndexWriter writer = new IndexWriter(d, new WhitespaceAnalyzer());
//Exiting without closing the indexd writer...
}
В этом тесте я открыл IndexWriter, не закрывая его - так что даже после того, как тест выходов, файл write.lock по-прежнему существует в индексном каталоге, поэтому я ожидал, что в следующий раз, когда я открою экземпляр IndexWriter для этого индекса, будет выброшен LockObatinFailedException
. Может кто-нибудь объяснить мне, почему я ошибаюсь? Я имею в виду, значит ли смысл файла write.lock защищать создание двух индексов в одном и том же процессе? то не кажется, правильный ответ на меня ...
Кажется, что вы правы! Все конструкторы, которые берут Directory вместо строки wont throw exception ... Интересно, была ли эта проблема исправлена в более поздней версии. Во всяком случае, спасибо большое :) –