Lucene多场QueryParser和Highlighter

Lucene多场QueryParser和Highlighter,lucene,query-parser,lucene-highlighter,fast-vector-highlighter,Lucene,Query Parser,Lucene Highlighter,Fast Vector Highlighter,我通过不同的字段为lucene index中的文章编制索引,如标题,描述,链接,出版日期 我使用multifiedqueryparser查询索引 然后我将文章显示为搜索结果。 到目前为止一切都很好。 现在我想突出显示标题“描述”中的搜索文本 我该怎么办? 普通的荧光灯在生成片段时会给我NullPointerException。 PostingHighlighter会给我一张地图,根据字段将结果分组。。但我不想这样。我是要返回的整个文档,并在标题和说明中突出显示搜索文本 任何帮助、建议或代码片段都

我通过不同的字段为lucene index中的文章编制索引,如
标题
描述
链接
出版日期

我使用multifiedqueryparser查询索引

然后我将文章显示为搜索结果。 到目前为止一切都很好。 现在我想突出显示标题“描述”中的搜索文本

我该怎么办? 普通的荧光灯在生成片段时会给我NullPointerException。 PostingHighlighter会给我一张
地图
,根据字段将结果分组。。但我不想这样。我是要返回的整个文档,并在标题和说明中突出显示搜索文本


任何帮助、建议或代码片段都将不胜感激

我通过使用
字段类型
为我想要突出显示的所有字段实现了该功能:

FieldType ft = new FieldType();
ft.setIndexed(true);         
ft.setIndexOptionsFieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
ft.setStored(true);
ft.setStoreTermVectors(true);
ft.setStoreTermVectorOffsets(true);
ft.setTokenized(true);
ft.stored();

QueryScorer qs = new QueryScorer(q);
Highlighter h = new Highlighter(qs);
highlighter.setTextFragmenter(new SimpleFragmenter(300));           
String highlighted = h.getBestFragment(new StandardAnalyzer(),f,Text);

发布你的荧光灯代码,这样我们就可以看到你遗漏了什么。
FieldType ft = new FieldType();
ft.setIndexed(true);         
ft.setIndexOptionsFieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
ft.setStored(true);
ft.setStoreTermVectors(true);
ft.setStoreTermVectorOffsets(true);
ft.setTokenized(true);
ft.stored();

QueryScorer qs = new QueryScorer(q);
Highlighter h = new Highlighter(qs);
highlighter.setTextFragmenter(new SimpleFragmenter(300));           
String highlighted = h.getBestFragment(new StandardAnalyzer(),f,Text);