IndexReader と IndexWriter

Apache Lucene ではまったところ.

IndexReader と IndexWriter は同じディレクトリを引数にして new する場合は unlock しなきゃいけない.

API ドキュメント見れば明らかなんだけど完全にハマってしまった.

例えば

  IndexWriter writer = new IndexWriter("indexdir", analyzer, true);
  IndexReader reader = IndexReader.open("indexdir");
  reader.close();
  writer.close();

みたいなことをすると reader で インデックスを参照できない.