lucene 写入索引时发生Lock obtain timed out异常 luceneCC++C#
程序员文章站
2024-01-24 10:34:22
...
IndexWriter writer = new IndexWriter(this.lucenePath, new SimpleGBKAnalyzer(),false);
执行这行代码时报了下面的异常,
java.io.IOExceptionjava.io.IOException: Lock obtain timed out: Lock@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\lucene-0bba314bcfc153d3542e4ea3752d383c-write.lock。
原因是 \lucene\index 下面没有cfs索引文件,
将 IndexWriter writer = new IndexWriter(this.lucenePath, new SimpleGBKAnalyzer(),false);
最后的参数false 改成 true 后,会在\lucene\index 下面创建cfs索引文件,然后将参数true重新改成false后,就不会报错了,原因是false是追加索引,而true为全新创建,追加索引时目录下面的索引文件不存在时就抛出了异常。
执行这行代码时报了下面的异常,
java.io.IOExceptionjava.io.IOException: Lock obtain timed out: Lock@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\lucene-0bba314bcfc153d3542e4ea3752d383c-write.lock。
原因是 \lucene\index 下面没有cfs索引文件,
将 IndexWriter writer = new IndexWriter(this.lucenePath, new SimpleGBKAnalyzer(),false);
最后的参数false 改成 true 后,会在\lucene\index 下面创建cfs索引文件,然后将参数true重新改成false后,就不会报错了,原因是false是追加索引,而true为全新创建,追加索引时目录下面的索引文件不存在时就抛出了异常。