Java:Lucene索引大小为0kb的空_0.fdt和_0.fdx文件
我在网上浏览过这个,但我似乎找不到合适的词。 我的问题是Lucene索引空的_0.fdt和大小为0kb的_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
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();除了这篇文章,我找不到这个问题。非常感谢。下面的答案对我很有用。