簡體   English   中英

Java-無法將Directory變量作為參數傳遞給Apache Lucene 6.4.2中的IndexReader.open()

[英]Java-Can't pass Directory variable as an argument to IndexReader.open() in Apache Lucene 6.4.2

我正在嘗試使用Lucene文檔中定義的open函數-https : //lucene.apache.org/core/3_5_0/api/core/org/apache/lucene/index/IndexReader.html(執行Ctrl + F為“打開”)。 但是,帶有Apache Lucene 6.4.2的Netbeans 8.1在語句“ reader = IndexReader.open(indexDirectory);”處給出了代碼內聯錯誤。 這是錯誤和代碼。

找不到符號符號:方法打開(目錄)位置:類IndexReader

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的IndexReader JavaDoc ,您應該使用DirectoryReader.open

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM