我很久以前使用Lucene 4.6构建了一个项目。现在想要升级到7.3。
这个项目有三个文件,每个文件一个类(与文件同名):Main,Indexer,Search。
Main类带有逻辑,并以程序方式调用Indexer和Search。
我在搜索时遇到问题。
在 Main.java 内部,我已经定义了数据目录所在的位置以及索引所在的位置并给出了搜索词:
$('.solution-trix-field-wrapper').find($('trix-editor')).css("min-height", "350px");
在 Search.java 中:
File dataDirectory = new File("C:\\datalocation");
File indexDirectory = new File("C:\\indexlocation");
(...)
Search.searchThis(indexDirectory,"Maven");
我遇到的问题是:
FSDirectory类型中的open(Path)方法不适用 参数(文件)
未定义类型为IndexReader
的open(Directory)方法
我该如何解决这个问题?
将'indexDirectory'的类型更改为'Path'不是一个需要考虑的选项。
答案 0 :(得分:3)
1 - 使用File.toPath转换:
File yourFile = indexDirectory;
Path yourPath = yourFile.toPath();
Directory directory = FSDirectory.open(yourPath);
2 - 使用DirectoryReader.open:
DirectoryReader indexreader = DirectoryReader.open(directory);