0
我向我的Lucene管道中添加了一個自定義屬性,如here(在「添加自定義屬性」部分中所述)。從DirectoryReader訪問自定義Lucene屬性
現在,我建立我的索引(通過添加所有文檔通過IndexWriter
)後,我想能夠在閱讀索引目錄時評估此屬性。我該怎麼做呢?
我現在正在做的是以下幾點:
DirectoryReader reader = DirectoryReader.open(index);
TermsEnum iterator = null;
for (int i = 0; i < r.maxDoc(); i++) {
Terms terms = r.getTermVector(i, "content");
iterator = terms.iterator(iterator);
AttributeSource attributes = iterator.attributes();
SentenceAttribute sentence = attributes.addAttribute(SentenceAttribute.class);
while (true) {
BytesRef term = iterator.next();
if (term == null) {
break;
}
System.out.println(term.utf8ToString());
System.out.println(sentence.getStringSentenceId());
}
}
似乎不工作:我得到相同sentenceId
所有的時間。
我使用Lucene 4.9.1。
這可能是相關的:http://stackoverflow.com/questions/24041456/how-to-store-custom-token-attribute-in-lucene-index –