Lucene(8.5.0)-如何突出显示带有通配符的已解析查询?

Lucene(8.5.0)-如何突出显示带有通配符的已解析查询?,lucene,Lucene,以下是我当前的代码: BooleanQuery.Builder bq = new BooleanQuery.Builder(); bq.add(new TermQuery(new Term(FIELD_TYPE, type.name())), BooleanClause.Occur.FILTER); Query stringQuery = parser.parse(queryString).rewrite(reader); bq.add(stringQuery, BooleanClause.O

以下是我当前的代码:

BooleanQuery.Builder bq = new BooleanQuery.Builder();
bq.add(new TermQuery(new Term(FIELD_TYPE, type.name())), BooleanClause.Occur.FILTER);

Query stringQuery = parser.parse(queryString).rewrite(reader);
bq.add(stringQuery, BooleanClause.Occur.MUST);

BooleanQuery query = bq.build();

QueryScorer scorer = new QueryScorer(query);
scorer.setExpandMultiTermQuery(true);

Highlighter highlighter = new Highlighter(formatter, scorer);
highlighter.setTextFragmenter(new NullFragmenter());

TopDocs searchResults = searcher.search(query, 10);
for (ScoreDoc doc : searchResults.scoreDocs) {
    Document document = searcher.doc(doc.doc);

    UUID uuid = fromString(document.get(FIELD_ID));

    TokenStream ts = analyzer.tokenStream("label", document.get("label"));
    String fragment = highlighter.getBestFragment(ts, document.get("label"));
    results.put(uuid, fragment);
}
查询工作正常,但是当使用通配符作为术语(例如“ter*”)时,查询返回结果,但片段为
null