防止Lucene自动创建索引目录

时间:2018-11-15 20:19:26

标签: java lucene

我一直在阅读一次性创建索引

    IndexReader reader = DirectoryReader.open(index);

索引在哪里

    Directory index = FSDirectory.open(Paths.get("src" + File.separator + "main" + File.separator + "resources" + File.separator + "luceneIndex"));

FSDirectory.open()尝试创建目录,但是生产环境是只读的。 是否可以将索引目录设置为只读模式?

1 个答案:

答案 0 :(得分:0)

代码失败的原因是因为默认情况下,使用 FSLockFactory 来获取索引上的锁以防止损坏。要获取锁,它会创建锁文件。显然,在您的情况下是不可能的,因此您需要使用另一个实现- NoLockFactory

Directory index = FSDirectory.open(Paths.get("/tmp/test"), NoLockFactory.INSTANCE);