Lucene使用FSDirectory

时间:2016-03-10 19:27:12

标签: java lucene

我写了一个简单的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

2 个答案:

答案 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());