10.solr学习速成之高亮显示
Solr高亮显示的三种实现




package Facet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
public class solrHighLight {
public static void search(){
HttpSolrClient server = solrServer.getServer();
SolrQuery query = new SolrQuery();
query.setQuery("name_s:wanglctest*");
query.setHighlight(true);//开启高亮功能
query.addHighlightField("name_s");//高亮字段
query.setHighlightSimplePre("<font color='red'>");//渲染标签
query.setHighlightSimplePost("</font>");//渲染标签
query.setStart(0);
query.setRows(20);
QueryResponse queryResponse;
try {
queryResponse = server.query(query);
SolrDocumentList lists = queryResponse.getResults();//查询结果集
List<student> items = new ArrayList<student>();
String tmpId = "";
Map<String, Map<String, List<String>>> highLightMap = queryResponse.getHighlighting();
for(SolrDocument solrDocument: lists){
student stu = new student();
tmpId = solrDocument.getFieldValue("id").toString();
stu.setId(tmpId);
stu.setScore_i((int) solrDocument.getFieldValue("score_i"));
stu.setName_s(solrDocument.getFieldValue("name_s").toString()); List<String> nameList = highLightMap.get(tmpId).get("name_s");
if(nameList!=null && nameList.size()>0){
stu.setName_s(nameList.get(0));//获取并设置高亮字段name
}
System.out.println(stu.getScore_i() + " | " +stu.getName_s());
}
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
search();
}
}
10.solr学习速成之高亮显示的更多相关文章
- 12.solr学习速成之dataimport
solr除了利用solrj建立索引外,还可以由列式数据库hbase触发器添加索引,自动全量或者增量索引关系数据库数据等. dataimport可以配置从任何关系数据库导入索引 1.将jar包拷贝到to ...
- 11.solr学习速成之MoreLikeThis
Solr相似匹配 在网页搜索或电商产品搜索结果页面,很多时候会看到一个相似文档.相似产品或找相似的链接.Solr 使用 MoreLikeThisComponent(MLT)和 MoreLikeT ...
- 9.solr学习速成之group
Group与Facet的区别 facet的查询结果主要是分组信息:有什么分组,每个分组包括多少记录:但是分组中有哪些数据是不可知道的,只有进一步搜索. group则类似于关系数据库的g ...
- 1.solr学习速成之配置文件
什么是solr Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过H ...
- 2.solr学习速成之安装
1.下载解压solr-5.3.1.tgz [root@205 opt]# tar -zxf solr-5.3.1.tgz -C /opt/module/ 2.将solr-5.3.1/server/so ...
- 13.solr学习速成之IK分词器
IKAnalyzer简介 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包. IKAnalyzer特性 a. 算法采用“正向迭代最细粒度切分算法”,支持细粒度和最大词长两 ...
- 8.solr学习速成之FacetPivot
什么是Facet.pivot Facet.pivot就是按照多个维度进行分组查询,是Facet的加强,在实际运用中经常用到,一个典型的例子就是商品目录树 NamedList解释: NamedList ...
- 7.solr学习速成之facet
Facet 介绍 Facet 是 solr 的高级搜索功能之一 ,可以给用户提供更友好的搜索体验,在搜索关键字的同时 , 能够按照 Facet 的字段进行分组并统计. 比如你上淘宝, ...
- 6.solr学习速成之multicore查询
查询关联多个core 再新建一个core 向每个core添加索引,修改 final static String SOLR_URL = "http://localhost:8080/solr/ ...
随机推荐
- 通过 HTTP 请求加载远程数据(ajax,axios)
1.http://blog.csdn.net/liaoxiaojuan233/article/details/54176798 (Axios(JS HTTP库/Ajax库)) 2.https://ww ...
- 【scala】语法的省略
我们直到JAVA在语法方面是冗长的,但是JAVA的可读性非常好. 在Scala的语法并不像JAVA那样冗长,但是又不失可读性,我们这里记录一下常见的语法省略. 首先是我们可以省略数据类型,因为Scal ...
- JavaScript中url 传递参数(特殊字符)解决方法及转码解码的介绍
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码 十六进制值 1. + URL 中+号表示空格 %2B 2. 空 ...
- 函数及参数http://www.cnblogs.com/Eva-J/p/7125925.html
文件的修改操作.删除操作,with语句 函数: 函数的定义:def 函数名(形参1,形参2....): 函数的调用:函数名(实参1,实参2) 函数的返回值: 定义阶段:return 三种情况:没有返回 ...
- (二)java环境搭建
Java运行环境的搭建: 什么是JRE,什么是JDK? JRE:(java运行环境)包括jvm(java虚拟机)和java运行的核心类库,如果只是运行java程序,只需安装JRE JDK:(java开 ...
- java如何获取当前时间,精确到毫秒
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Calendar; //func1 Calenda ...
- L3-008 喊山 (30 分)
喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤.呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的.原来它是彝族先民用 ...
- Intent详解以及实例
Android中统一用Intent来封装程序的“调用意图“.不管程序想启动一个Activity,一个Servicer,还是一个BroadcastReceiver.使用Intent提供了一个统一的编程模 ...
- Asp.net页面间传值方式汇总
七种传值方式,分别是:URL传值,Session传值,Cookie传值,Server.Transfer传值,Application传值,利用某些控件的PostBackUrl属性和使用@Previous ...
- 关于djangoadmin的一个博客
http://www.cnblogs.com/linxiyue/category/569717.html