【发布时间】:2011-01-14 13:26:33
【问题描述】:
我想阅读每一个索引。我想阅读并打印以控制索引中的单个术语。 (我不想和卢克一起看内容)。我必须使用类IndexReader吗?
有人可以帮我吗?
我尝试过:
iReader = IndexReader.open(directory);
int num = iReader.numDocs();
for ( int i = 0; i < num; i++)
{
if ( ! iReader.isDeleted( i))
{
org.apache.lucene.document.Document d = iReader.document(i);
System.out.println( "d=" +d.getField("title").tokenStreamValue());
}
}
org.apache.lucene.document.Document doc = new org.apache.lucene.document.Document();
//aggiungo tutti i documenti
Field title = new Field(
"title",
testDoc.title,
Field.Store.YES,
Field.Index.ANALYZED,
Field.TermVector.WITH_POSITIONS_OFFSETS);
doc.add(title);
Field content = new Field(
"content",
testDoc.content,
Field.Store.YES,
Field.Index.ANALYZED,
Field.TermVector.WITH_POSITIONS_OFFSETS);
doc.add(content);
iWriter.addDocument(doc);
但是d = null;
我哪里做错了?
我想将术语检索到我索引的字段标题...
非常感谢。
【问题讨论】: