Java:Lucene索引大小为0kb的空_0.fdt和_0.fdx文件

Java:Lucene索引大小为0kb的空_0.fdt和_0.fdx文件,java,lucene,Java,Lucene,我在网上浏览过这个,但我似乎找不到合适的词。 我的问题是Lucene索引空的_0.fdt和大小为0kb的_0.fdx文件。这意味着它没有索引我的数据 这是我的代码: private int indexDocs(String dataTmp){ // LETS START PROCESSING THE INDEXING OF CONTENTS OF THE DATA PASSED // make a new, empty document Document doc = ne

我在网上浏览过这个,但我似乎找不到合适的词。 我的问题是Lucene索引空的_0.fdt和大小为0kb的_0.fdx文件。这意味着它没有索引我的数据

这是我的代码:

private int indexDocs(String dataTmp){
    // LETS START PROCESSING THE INDEXING OF CONTENTS OF THE DATA PASSED
    // make a new, empty document
    Document doc = new Document();
    // Method variables
    int trueValue=0;
    String[] datas;
    String[][] contents;
    String[] contentArray;
    // Setting single variable
    String field="";
    String inContent="";
    long time;

    // NOW LETS PROCESS
    datas=dataReader(dataTmp); // Calling the data reader
    contents=dataProcessor(datas); // Calling the contents retriever
    // Now lets index each content retrieved
    if(contents.length>0){
        for(String[] content:contents){
            // Now lets loop through each content to index
            for(int i=0; i<content.length; i++){
                contentArray=content[i].split("\\::::");
                field=contentArray[0];
                inContent=contentArray[1];
                //System.out.println(field+" === "+inContent);
                // NOW LETS INDEX DOCUMENT IN ITS APPROPRAITE FIELD
                if(field.equals("contents") || field.equals("title") || field.equals("keywords")){
                    Field textField=new TextField(field, inContent, Field.Store.YES);
                    doc.add(textField);
                }
                else{
                    Field stringField = new StringField(field, inContent, Field.Store.YES);
                    doc.add(stringField);
                }

            } // End of loop
        } // End of loop

        // Here we try to index Date of time the index was logged
        time=System.currentTimeMillis();
        doc.add(new LongPoint("date", time));

        // New index, so we just add the document (no old document can be there):
        // System.out.println("adding " + file);
        try {
             //by a reader on the same index
            writer.addDocument(doc);
            // Now lets set the true
            trueValue=1;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } // End of content check

    // Now lets return value
    return trueValue;
}
private int indexDocs(字符串dataTmp){
//让我们开始处理传递数据内容的索引
//创建一个新的空文档
单据单据=新单据();
//方法变量
int-trueValue=0;
字符串[]数据;
字符串[][]内容;
字符串[]contentArray;
//设置单个变量
字符串字段=”;
字符串inContent=“”;
长时间;
//现在让我们来处理
datas=dataReader(dataTmp);//调用数据读取器
contents=dataProcessor(datas);//调用内容检索器
//现在让我们为检索到的每个内容编制索引
如果(contents.length>0){
for(字符串[]内容:内容){
//现在,让我们循环浏览每个内容以编制索引

对于(int i=0;i不知道您在何处声明了writer,但这种情况通常在writer未关闭时发生,请尝试在添加文档后关闭writer

我有以下内容:writer.addDocument(doc);它如上所述提供零字节文件。关闭writer后将生成有效索引。writer.close();除了这篇文章,我找不到这个问题。非常感谢。下面的答案对我很有用。