main方法测试
public static void main{
String zkHost="";
String defaultCollection="collection1";
CloudSolrServer solr =new CloudSolrServer(zkhost);
solr.setDefaultCollection(defaultCollection);
SolrQuery query=new SolrQuery();
query.setQuery(" id:? content:?? name:?? ");--每个字段中间需要一个空格,必须的。或者用or连接
query.setHighlight(true).setHighlightSnippets(1);--分片使用,也就是检索出文件的部分内容。显示
query.setHighlightSimplePre("<font color='red'>");
query.setHighlightSimplePost("</font >");
query.addHightlightField("content");--添加要进行高亮查询的字段名称
QueryResponse queryResponse =solr.query(query);
QueryDocumentList list=queryResponse.getResults();
Map<String ,Map<String.List<String >>> iter=queryResponse.getHighlight();------得到高亮查询结果,是个Map类型
for(SolrDocument lstL list){
String id=(String) lst.getFileValue("id");
Map<String,List<String>> map_temp=iter.get(id);
if(queryResponse.getHightlighting().get(id)!=null){
List<String> highlightSnippets=map_temp.get("mycontent");
String mycontent=highlightSnippets.get(0).trim();
system.out.print(mycontent);---已经是个String类型的字符串了
highlightSnippets如果需要所有的分片,遍历下就可以了(for循环)
}
}
}