解决ES搜索过程中使用高亮插件导致结果不完整的问题

对一个内容长度比较长的字段进行搜索并使用高亮显示插件时,通过获得结果中的高亮字段获取的内容只有一部分,而非全部内容

当需要获取全部内容时,只需要设置 number_of_fragments 为0 即可返回完整内容

HighlightBuilder highlightBuilder = new HighlightBuilder();

//自定义高亮标签
highlightBuilder.preTags("<span style=\"color:red\">");
highlightBuilder.postTags("</span>");

HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("messageText");
highlightTitle.highlighterType("unified");
highlightBuilder.field(highlightTitle);

//设置为0即可返回完整内容 而非片段
highlightBuilder.numOfFragments(0);
发布了39 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/he37176427/article/details/104607983
今日推荐