我一直在阅读一次创建的索引:
IndexReader reader = DirectoryReader.open(index);
索引在哪里
Directory index = FSDirectory.open(Paths.get("src" + File.separator + "main" + File.separator + "resources" + File.separator + "luceneIndex"));
FSDirectory.open()
试图创建目录,但是生产环境是只读的。是否可以以只读模式获取索引目录?
发布于 2018-12-18 08:48:48
代码失败的原因是默认情况下,FSLockFactory用于获取索引的锁以防止损坏。为了获得锁,它会创建锁文件。显然,在您的情况下这是不可能的,所以您需要使用另一个实现-- NoLockFactory.
Directory index = FSDirectory.open(Paths.get("/tmp/test"), NoLockFactory.INSTANCE);
https://stackoverflow.com/questions/53327304
复制相似问题