我写了一个简单的java程序来创建一个lucene索引,但是我的语法出错了。
我的代码:
static final String INDEX_DIRECTORY = "/home/yuqing/Desktop/index";
Directory index = FSDirectory.open(new File(INDEX_DIRECTORY));
我收到以下错误,
open (java.nio.file.path) in FSDirectory cannot be applied to java.io.file
答案 0 :(得分:7)
FSDirectory.open
调用采用Path
参数,而不是File
(从Lucene 5.0版开始)。您可以查看Java tutorial on the Path Class以获取有关其工作原理的信息。
因此,您的代码应如下所示:
static final String INDEX_DIRECTORY = "/home/yuqing/Desktop/index";
Directory index = FSDirectory.open(Paths.get(INDEX_DIRECTORY));
答案 1 :(得分:2)
您应该使用.toPath()作为文件路径。
File f=new File(INDEX_DIRECTORY);
Directory index = FSDirectory.open(f.toPath());