private OContextualRecordId toRecordId(Document doc, ScoreDoc score) {
String rId = doc.get(OLuceneIndexEngineAbstract.RID);
OContextualRecordId res = new OContextualRecordId(rId);
IndexReader indexReader = queryContext.getSearcher().getIndexReader();
try {
for (String field : highlighted) {
String text = doc.get(field);
TokenStream tokenStream = TokenSources.getAnyTokenStream(indexReader, score.doc, field, doc, engine.indexAnalyzer());
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, text, true, maxNumFragments);
queryContext.addHighlightFragment(field, frag);
}
engine.onRecordAddedToResultSet(queryContext, res, doc, score);
return res;
} catch (IOException | InvalidTokenOffsetsException e) {
throw OException.wrapException(new OLuceneIndexException("error while highlighting"), e);
}
}