Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java无法将目录变量作为参数传递给Apache Lucene 6.4.2中的IndexReader.open()_Java_Apache_Lucene - Fatal编程技术网

Java无法将目录变量作为参数传递给Apache Lucene 6.4.2中的IndexReader.open()

Java无法将目录变量作为参数传递给Apache Lucene 6.4.2中的IndexReader.open(),java,apache,lucene,Java,Apache,Lucene,我试图在这里使用Lucene文档中定义的open函数——对“open”执行Ctrl+F组合键。但是,带有ApacheLucene 6.4.2的Netbeans 8.1在语句“reader=IndexReader.openindexDirectory;”的代码上出现了一个内联错误。下面是错误和代码 找不到符号 符号:方法openDirectory 位置:类索引阅读器 import java.io.File; import java.io.IOException; import java.nio.f

我试图在这里使用Lucene文档中定义的open函数——对“open”执行Ctrl+F组合键。但是,带有ApacheLucene 6.4.2的Netbeans 8.1在语句“reader=IndexReader.openindexDirectory;”的代码上出现了一个内联错误。下面是错误和代码

找不到符号 符号:方法openDirectory 位置:类索引阅读器

import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.lucene.analysis.SimpleAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Explanation;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.TopScoreDocCollector;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;

public class Indexing_Searching 
{

    public static final String FIELD_CONTENTS = "contents";

    public int searchIndex(String instring, String Index_Dir_Path)
    {
    int numDocs =0;
    try 
    {
        Path path = Paths.get(Index_Dir_Path);
        Directory indexDirectory = FSDirectory.open(path);

        IndexReader reader;
        reader = IndexReader.open(indexDirectory);
        Term term = new Term("content", instring);
        numDocs = reader.docFreq(term);
        //System.out.println("Number of documents for given key" + instring +" # docs" + numDocs);
    } 
    catch (CorruptIndexException e) 
    {
    e.printStackTrace();
    } 
    catch (IOException e) 
    {
    e.printStackTrace();
    }
    return(numDocs);
    }// End of one-words searching function
}

根据Lucene 6.4.2的当前版本,您应该使用。

修复了错误。没有向后兼容性,是吗?正在运行一段数年前编写的代码。3.5和6.4之间有三个主要版本。请,mercy Lucene开发者: