Java 在索引中打印单词-Lucene
我对Lucene非常陌生,我正在使用Lucene 4.10.4。为了澄清,我试图打印lucene在搜索期间从索引中读取的所有单词。我试图理解,根据搜索字符串,Lucene在比较索引中跳过了哪些单词。我试着在一些lucene类中使用print语句打印单词。但它不起作用。在哪里可以使用打印对账单 像这样的东西应该适合你。这段代码将打开Lucene索引并遍历所有字段,列出所有术语。您可以轻松跳过此处不需要的字段Java 在索引中打印单词-Lucene,java,lucene,Java,Lucene,我对Lucene非常陌生,我正在使用Lucene 4.10.4。为了澄清,我试图打印lucene在搜索期间从索引中读取的所有单词。我试图理解,根据搜索字符串,Lucene在比较索引中跳过了哪些单词。我试着在一些lucene类中使用print语句打印单词。但它不起作用。在哪里可以使用打印对账单 像这样的东西应该适合你。这段代码将打开Lucene索引并遍历所有字段,列出所有术语。您可以轻松跳过此处不需要的字段 IndexReader reader = DirectoryReader.
IndexReader reader = DirectoryReader.open(dir);
final Fields fields = MultiFields.getFields(reader);
final Iterator<String> iterator = fields.iterator();
while(iterator.hasNext()) {
final String field = iterator.next();
final Terms terms = MultiFields.getTerms(reader, field);
final TermsEnum it = terms.iterator(null);
BytesRef term = it.next();
while (term != null) {
System.out.println(term.utf8ToString());
term = it.next();
}
}
IndexReader=DirectoryReader.open(dir);
最终字段=MultiFields.getFields(读卡器);
final Iterator Iterator=fields.Iterator();
while(iterator.hasNext()){
最后一个字符串字段=迭代器.next();
最终术语=MultiFields.getTerms(读卡器,字段);
final TermsEnum it=terms.iterator(null);
BytesRef term=it.next();
while(术语!=null){
System.out.println(term.utf8ToString());
term=it.next();
}
}