chenjiali 发表于 2015-7-16 14:12:04

solr高亮设置以及摘要

  高亮显示



Java代码
[*]   
[*]public SolrDocumentList query(String str) {
[*]   
[*]SolrQuery query = new SolrQuery(str);
[*]   
[*]   
[*]   
[*]//设置高亮,以下两种方式都行(相当于开启高亮功能)
[*]   
[*]//query.setHighlight(true);
[*]   
[*]query.setParam("hl", "true"); //highlighting
[*]   
[*]   
[*]   
[*]//设置高亮显示的请求,高亮显示的内容由该参数决定,但是返回结果还是由SolrQuery决定
[*]   
[*]//query.setParam("hl.q", "email:zhang@ppstream.com");
[*]   
[*]   
[*]   
[*]/*
[*]
[*]* 那些字段高亮显示,可以用空格或者逗号分隔(有一个域的时候正常,两个及以上没测试通过)
[*]
[*]* 老版本使用query.addHighlightField("name");query.addHighlightField("description");给多个字段开启高亮功能
[*]
[*]*/
[*]   
[*]query.setParam("hl.fl", "name");
[*]   
[*]   
[*]   
[*]//高亮显示字段前后添加html代码
[*]   
[*]query.setHighlightSimplePre("");   
[*]
[*]query.setHighlightSimplePost("");
[*]   
[*]   
[*]   
[*]SolrDocumentList list = new SolrDocumentList();
[*]   
[*]SolrDocument document = null;
[*]   
[*]   
[*]   
[*]QueryResponse response=new QueryResponse();
[*]   
[*]try {
[*]   
[*]SolrDocumentList documents = response.getResults();
[*]   
[*]//第一个Map的键是文档的ID,第二个Map的键是高亮显示的字段名
[*]   
[*]Map map = response.getHighlighting();
[*]   
[*]   
[*]   
[*]for(int i=0;i
页: [1]
查看完整版本: solr高亮设置以及摘要