solr 搜索 多字段高亮不显示

丶橙子 2017-09-14 10:25:15
使用solrj 搜索实现,但是多字段高亮不显示

servic中:
		//高亮显示
//开启高亮
solrQuery.setHighlight(true);
//设置高亮字段
solrQuery.addHighlightField("document_TITLEPROPER");
solrQuery.addHighlightField("document_ABSTRACT");
solrQuery.addHighlightField("document_DESCRIPTOR");
solrQuery.addHighlightField("document_RECORDNO");
//启用多字段高亮
solrQuery.set("hl.highlightMultiTerm","true");
//设置高亮前缀
solrQuery.setHighlightSimplePre("<font color='red'>");
//设置高亮后缀
solrQuery.setHighlightSimplePost("</font>");
//设置默认查询
solrQuery.set("df", "document_keywords");

//调用dao方法,执行搜索查询
SearchPageBean pageBean = DocumentsDao.queryIndexWithSolr(solrQuery);

dao:
		//获取高亮显示
Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();

if(highlighting != null){
//标题
List<String> list = highlighting.get(sdoc.get("id")).get("document_TITLEPROPER");
//摘要
List<String> list2 = highlighting.get(sdoc.get("id")).get("document_ABSTRACT");
//关键字
List<String> list3 = highlighting.get(sdoc.get("id")).get("document_DESCRIPTOR");
// 文本
List<String> list4 = highlighting.get(sdoc.get("id")).get("document_RECORDNO");

if(list != null && list.size() > 0){
d.setTITLEPROPER(list.get(0));
} else {
d.setTITLEPROPER(String.valueOf(sdoc.get("document_TITLEPROPER")));
}

if(list2 != null && list2.size() > 0){
d.setABSTRACT(list2.get(0));
} else {
d.setABSTRACT(String.valueOf(sdoc.get("document_ABSTRACT")));
}

if(list3 != null && list3.size() > 0){
d.setDESCRIPTOR(list3.get(0));
} else {
d.setDESCRIPTOR(String.valueOf(sdoc.get("document_DESCRIPTOR")));
}

if(list4 != null && list4.size() > 0){
d.setRECORDNO(list4.get(0));
} else {
d.setRECORDNO(String.valueOf(sdoc.get("document_RECORDNO")));
}


} else {
d.setTITLEPROPER(String.valueOf(sdoc.get("document_TITLEPROPER")));
d.setABSTRACT(String.valueOf(sdoc.get("document_ABSTRACT")));
d.setDESCRIPTOR(String.valueOf(sdoc.get("document_DESCRIPTOR")));
d.setRECORDNO(String.valueOf(sdoc.get("document_RECORDNO")));
}


Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();
highlighting 中的 map值是空的
{650412={}, 44295={}, 878002={}, 234877={}, 693562={}, 648903={}, 650416={}, 647868={}, 311390={}, 650953={}, 650952={}, 648573={}, 147940={}, 650853={}, 650999={}, 814466={}, 650249={}, 588778={}}
...全文
148 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧