Как я могу получить токены (будь то список токенов, TokenStream
или что-то еще), которые использовались для Field
в Document
из индекса люцена? То есть можно ли получить токены, которые использовались в tokens
(из примера) из индекса? (Мне не интересно, как получить токены из TokenStream
)
doc.add(new Field("title", tokens))
В документации есть Field.tokenStreamValue()
, но когда я делаю doc.getFieldable(field_name)
, это просто возвращает null
.
Я также пытался (из третьего комментария в lucene - Fieldable.tokenStreamValue () ):
TokenSources.getTokenStream(reader, doc_id, field_name)
но я получаю
java.lang.IllegalArgumentException: title in doc #630does not have any term position data stored
at org.apache.lucene.search.highlight.TokenSources.getTokenStream(TokenSources.java:256)