Apache Lucene ではまったところ.
IndexReader と IndexWriter は同じディレクトリを引数にして new する場合は unlock しなきゃいけない.
API ドキュメント見れば明らかなんだけど完全にハマってしまった.
例えば
IndexWriter writer = new IndexWriter("indexdir", analyzer, true);
IndexReader reader = IndexReader.open("indexdir");
reader.close();
writer.close();
みたいなことをすると reader で インデックスを参照できない.