Solr-SolrJ 高亮显示

xiaoxiao2021-02-28  42

SolrUtil增加queryHighlight 方法 public static void queryHighlight(String keywords) throws SolrServerException, IOException { SolrQuery q = new SolrQuery(); //开始页数 q.setStart(0); //每页显示条数 q.setRows(10); // 设置查询关键字 q.setQuery(keywords); // 开启高亮 q.setHighlight(true); // 高亮字段 q.addHighlightField("name"); // 高亮单词的前缀 q.setHighlightSimplePre("<span style='color:red'>"); // 高亮单词的后缀 q.setHighlightSimplePost("</span>"); //摘要最长100个字符 q.setHighlightFragsize(100); //查询 QueryResponse query = client.query(q); //获取高亮字段name相应结果 NamedList<Object> response = query.getResponse(); NamedList<?> highlighting = (NamedList<?>) response.get("highlighting"); for (int i = 0; i < highlighting.size(); i++) { System.out.println(highlighting.getName(i) + ":" + highlighting.getVal(i)); } //获取查询结果 SolrDocumentList results = query.getResults(); for (SolrDocument result : results) { System.out.println(result.toString()); } }TestSolr4j 调用queryHighlight 方法 public class TestSolr4j { public static void main(String[] args) throws SolrServerException, IOException { //高亮查询查询 SolrUtil.queryHighlight("name:手机"); } }
转载请注明原文地址: https://www.6miu.com/read-2612764.html

最新回复(0)