我一直在阅读一次性创建索引:
IndexReader reader = DirectoryReader.open(index);
索引在哪里
Directory index = FSDirectory.open(Paths.get("src" + File.separator + "main" + File.separator + "resources" + File.separator + "luceneIndex"));
FSDirectory.open()
尝试创建目录,但是生产环境是只读的。
是否可以将索引目录设置为只读模式?
答案 0 :(得分:0)
代码失败的原因是因为默认情况下,使用 FSLockFactory 来获取索引上的锁以防止损坏。要获取锁,它会创建锁文件。显然,在您的情况下是不可能的,因此您需要使用另一个实现- NoLockFactory 。
Directory index = FSDirectory.open(Paths.get("/tmp/test"), NoLockFactory.INSTANCE);