Я получаю эту ошибку, когда обновляю или добавляю документацию lucene. Я знаю, что это происходит, когда indexwriter используется другим ресурсом, мы получаем это Исключение SimpleFSLock, но в моем сценарии я всегда закрываю свой IndexWriter, чтобы не было возможности открытия indexwriter.
Есть ли способ, если я получу это исключение, я могу это исправить.
Редактировать:
static object myLock = new object();
public static void AddDocument(//some params)
{
lock (myLock)
{
try
{
//I get the exception thrown on below line [not sure but might be file have been locked due to other resource accessing it : how can i free this lock]
IndexWriter writer = new IndexWriter(GetFileInfo(indexName), analyzer, false);
writer.AddDocument(*//some document //*);
writer.Optimize();
writer.Close();
}
catch (Exception ex)
{
log.LogWarn(null, ex.Message);
}
}
}