首页 > 代码库 > Nutch Solrj高亮显示

Nutch Solrj高亮显示

后台:

检索条件必须放到query中,不能设置到fq中

//编辑queryStr;
SolrQuery query = new SolrQuery(queryStr);

query.setHighlight(true); // 开启高亮组件
query.addHighlightField("title");// 高亮字段
query.addHighlightField("content");// 高亮字段
query.setHighlightSimplePre("<font color=\"red\">");// 标记
query.setHighlightSimplePost("</font>");
query.setHighlightSnippets(1);// 结果分片数,默认为1
query.setHighlightFragsize(100);// 每个分片的最大长度,默认为100

QueryRequest queryRequest = new QueryRequest(query);
queryRequest.setPath(queryPath);
rsp = queryRequest.process(solrServer);

//编辑取得项目  "id"为每条数据的Key
for (SolrDocument dolrDoc : rsp.getResults()) {
    content = "";
    title = "";
    Map<String, Object> data = new HashMap<String, Object>();
    if (dolrDoc.getFieldValue("id") != null) {
        if (hl.get(dolrDoc.getFieldValue("id")).get("content") != null){ 
            content = hl.get(dolrDoc.getFieldValue("id")).get("content").get(0);
        }
        if (hl.get(dolrDoc.getFieldValue("id")).get("title") != null){ 
            title = hl.get(dolrDoc.getFieldValue("id")).get("title").get(0);
        }
    }
}

画面效果: