我正在编写一个Java程序,必须在其中使用Lucene构建一个索引,然后从中读取内容。最终,我构建了一个具有所有依赖项的jar,因为必须从shell的另一个程序中调用它。
我正在使用Lucene的FSDirectory。 Lucene的FSDirectory对读取和写入索引很有用。但是,其构造函数将路径作为输入。 This是FSDirectory的Java文档。
当我通常从资源中读取文件时,我使用以下方法:
InputStream is = ResourceReader.class.getClassLoader().getResourceAsStream("filename.extension");
但是,如上所述,FSDirectory的构造函数需要一个Path。但是考虑到我要生产一个罐子,如何给它一个路径呢?
答案 0 :(得分:0)
我在一个项目中遇到了同样的问题,这解决了我的问题:
FSDirectory luceneIndex = new SimpleFSDirectory(Paths.get("where_you_want_to_store_the_index"));