Solr搜索高亮
1、SolrQuery类,此类有个方法setHighlight(true),当设置为true时,表示开启了高亮
2、高亮设置,添加html,和设置高亮的Field
// 以下给两个字段开启了高亮,分别是name,description, query.addHighlightField("name"); query.addHighlightField("description"); // 以下两个方法主要是在高亮的关键字前后加上html代码 query.setHighlightSimplePre("<font color=\"red\">"); query.setHighlightSimplePost("</font>");
3、获取高亮内容
Map<String,Map<String,List<String>>> map = response.getHighlighting();
Map的Key为document的Id,即你在schema.xml中设置的Id,Value为该Id对应的document的值,请听下面分 解,Value也为一个Map,该Map的Key为fieldName,Value为List<String>,这个List里面的内容该文 档的高亮字段。
所以当做逻辑处理的时候,只要按照这个层次,依次把东西给取出来即可,如果取出来的东西为空,则用QueryResponse中的SolrDocument的getFieldValue(filedName)的值。