惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
博客园_首页
博客园 - 【当耐特】
V
Visual Studio Blog
博客园 - 叶小钗
月光博客
月光博客
美团技术团队
J
Java Code Geeks
小众软件
小众软件
Y
Y Combinator Blog
博客园 - Franky
Martin Fowler
Martin Fowler
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG

祈雨的笔记

安全多方计算MPC spark原理解析 kueue执行源码分析 spark on k8s执行源码分析 spark-operator源码解析 系统压测遇到的缓存击穿问题 我的世界PC与安卓联机 蚂蚁金服流量投放平台的AIG改造 G1大对象致Old区占用率高 日志打印导致接口响应率下跌分析 Groovy加载类导致OOM分析 ERROR日志打印导致CPU满载 记OceanBase死锁超时 应用发版期间服务响应超时 Ark Serverless初探 系统优化复盘一二三 The user specified as a definer does not exist Kong网关初探 API网关选型调研 CPU火焰图常用工具 配置中心选型调研 root操作Nginx导致用户组错误 基于Proxifier使用代理 FastJSON字段智能匹配踩坑 Nacos初探 记一次Nginx服务器CPU满荷载故障 基于券系统分库分表的思考 limit不参与SQL成本计算致索引失效 Linux常用性能监控命令 golang低版本http2偶现400
solr(6)搜索结果高亮
祈雨的笔记 · 2017-10-02 · via 祈雨的笔记

1、设置高亮

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SolrQuery query = new SolrQuery();
...

query.setHighlight(true);

query.addHighlightField("path");
query.addHighlightField("content");

query.setHighlightSimplePre("<font color='red'>");
query.setHighlightSimplePost("</font>");





query.setHighlightSnippets(3);



query.setHighlightFragsize(75);

2、获取高亮

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
QueryResponse queryResponse = solr.query(query);
SolrDocumentList results = queryResponse.getResults();

Map<String, Map<String, List<String>>> highlighting = queryResponse.getHighlighting();
for(SolrDocument solrDocument : results){


TXDocument document = new TXDocument();
document.setId(solrDocument.get("id").toString());


Map<String, List<String>> map = highlighting.get(solrDocument.get("id"));


if(map.get("path") != null){
document.setPath(map.get("path").toString());
} else {
document.setPath(solrDocument.get("path").toString());
}


String matchContents = "";
List<String> list = map.get("content");
if(list != null){
for(int i=0;i<list.size();i++){
if(i != 0){
matchContents += " . . . ";
}
matchContents += list.get(i);
}
} else {
String docContent = solrDocument.get("content").toString();
matchContents = (docContent.length() > 75?docContent.substring(0, 75):docContent);
}
document.setContent(matchContents);
}

3、效果

这里写图片描述