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/ ...
随机推荐
- vue-cli 脚手架项目简介(一) - package.json
vue-cli是用来生成 vue项目的命令行工具,它的使用方法是这样的: vue init <template-name> <project-name>第二个参数 templa ...
- Node负载能力测试
需求很简单,就是提供一个服务接口收集端上传来的日志文件并保存,要求能承受的QPS为5000. 以前从来都没考虑过Node服务的负载能力,用 koa + co-busboy 接受上传文件请求并用 fs ...
- win7 无法链接到手机热点
作为一个对电脑不太懂的小白来说,链接个热点都是问题,来看看我怎么解决的吧. 之前连上过这个手机的热点,隔了有段时间了,今天连不上了,这是啥问题? 另外一台没连过这个手机热点的电脑是可以链接成功了,纳尼 ...
- Android读取asserts和raw文件夹下的文件
Android读取asserts和raw文件夹下的文件 经常需要用到读取“/res/raw”和"/asserts"文件夹下的文件,索性写成工具类方便以后使用. 一.raw文件夹下的 ...
- Js事件处理模型/周期
有3个阶段 1. 捕获阶段:由外向内,记录各级父元素上绑定的事件处理函数---只记录,不触发. 2. 目标触发:优先触发目标元素上的事件处理函数. 3. 冒泡:由内向外,按捕获的顺序的相反的方向 ...
- Keras GRU 文字识别
GRU(Gated Recurrent Unit)是LSTM的一个变体,也能克服RNN无法很好处理远距离依赖的问题. GRU的结构跟LSTM类似,不过增加了让三个门层也接收细胞状态的输入,是常用的LS ...
- centOS 7 tomcat nginx 验证码乱码
将服务部署在centOS 7上,配置完tomcat和nginx之后,启动服务后,发现验证码这样了~~~ 一开始是以为nginx的原因,但是在Ubuntu系统相同操作发现没有问题,后发现,系统的字体库中 ...
- Shell 参数(1)
shell 中参数相关: ./a.sh a b c d $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ ...
- HihoCoder 1183 : 连通性一·割边与割点(模板)
连通性一·割边与割点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢失.为了避免再次 ...
- browser-sync 服务器使用
1. 安装 npm install browser-sync or yarn add browser-sync 2. 使用(集成gulp) 备注: gulp 安装使用此处不介绍 默认的端口是3000, ...