Эта функция была перенесена из Solr в Lucene совсем недавно. Взгляните на класс FSTLookup , представленный в Lucene 3.3.0. Пример использования его см. В соответствующем тестовом классе .
Небольшой фрагмент, извлеченный из тестового класса, чтобы показать вам основы:
private TermFreq[] evalKeys() {
final TermFreq[] keys = new TermFreq[] {
tf("one", 0.5f),
tf("oneness", 1),
tf("onerous", 1),
tf("onesimus", 1),
tf("two", 1),
tf("twofold", 1),
tf("twonk", 1),
tf("thrive", 1),
tf("through", 1),
tf("threat", 1),
tf("three", 1),
tf("foundation", 1),
tf("fourblah", 1),
tf("fourteen", 1),
tf("four", 0.5f),
tf("fourier", 0.5f),
tf("fourty", 0.5f),
tf("xo", 1),
};
return keys;
}
FSTLookup lookup = new FSTLookup();
lookup.build(new TermFreqArrayIterator(evalKeys()));
LookupResult result = lookup.lookup("one", false, 2);