查找Lucene索引的术语列表

Fra*_*ank 10 lucene

是否可以将Lucene索引中的所有术语列表提取为字符串列表?我在文档中找不到该功能.谢谢!

Rob*_*bAu 17

在Lucene 4(和5)中:

 Terms terms = SlowCompositeReaderWrapper.wrap(directoryReader).terms("field"); 
Run Code Online (Sandbox Code Playgroud)

编辑:

这似乎是现在的'正确'方式(Lucene 6及以上):

LuceneDictionary ld = new LuceneDictionary( indexReader, "field" );
BytesRefIterator iterator = ld.getWordsIterator();
BytesRef byteRef = null;
while ( ( byteRef = iterator.next() ) != null )
{
    String term = byteRef.utf8ToString();
}
Run Code Online (Sandbox Code Playgroud)

  • Lucene团队似乎养成了一种非常糟糕的习惯,即在不更新Javadoc的情况下弃用事物,以指引人们使用新的方法或方法! (3认同)

mik*_*iku 11

Lucene 3: