lucene在创建索引库时,会合并多个 Segments 文件到一个 .cfs 中。此方式有助于减少索引文件数量,减少同时打开的文件数量。
有些程序会直接将数据存储到cfs里 要想拿出里面的数据就看下面代码!!!(很简单 刚开始的时候我想复杂了 呵呵)
lucene路径下文件:
Directory dir = FSDirectory.open(new File("D:\\fbi\\FirstInfo-2010"+coll));
indexReader = IndexReader.open(dir);
int max = indexReader.maxDoc();
//System.out.println(max);
// 显示记录总数
for (int n = 0; n < max; n++) {
System.out.println(n);
Document document = indexReader.document(n);
// 显示每条记录的title字段内容
Collection conn = null;
conn = indexReader.getFieldNames(IndexReader.FieldOption.ALL);
// 显示该条记录的字段个数
Iterator iter = conn.iterator();
for (Iterator iterator = conn.iterator(); iterator.hasNext();) {
String s = (String) iterator.next();
// 显示该条记录的字段内容
System.out.print(n+" ["+s+":"+document.get(s)+"]");
}
System.out.println(date);
}
}
indexReader.close();
}