是否可以将Lucene索引中的所有术语提取为字符串列表?我在文档中没有找到这个功能。谢谢!
在Lucene 4(和5)中:
Terms terms = SlowCompositeReaderWrapper.wrap(directoryReader).terms("field");
编辑:
这似乎是现在的“正确”方法(Lucene 6及以上版本):
LuceneDictionary ld = new LuceneDictionary( indexReader, "field" );
BytesRefIterator iterator = ld.getWordsIterator();
BytesRef byteRef = null;
while ( ( byteRef = iterator.next() ) != null )
{
String term = byteRef.utf8ToString();
}
Lucene 3:
Java:
IndexReader indexReader = IndexReader.open(path);
TermEnum termEnum = indexReader.terms();
while (termEnum.next()) {
Term term = termEnum.term();
System.out.println(term.text());
}
termEnum.close();
indexReader.close();
Java(特定领域的所有术语):如何从Lucene的特定字段获取唯一术语列表?
Python:使用Lucene(PyLucene)查找单个字段的术语
"field"
。在 Jackrabbit 中它是"_:FULLTEXT"
。 - user207421SlowCompositeReaderWrapper
在6.1.0中已被弃用。您知道如何在6.4.1中处理吗? - Sundeep