1.搜索结果【高亮显示】
1.1 需求分析
将用户输入的关键字在标题中以红色字体显示出来,就是搜索中常用的高亮显示:
1.2 实现思路分析(Spring Data Solr高亮查询核心API)
- SolrTemplate:操作Solr索引库核心类
-- solrTemplate.queryForHighlightPage()查询高亮分页方法
- HighlightQuery:高亮查询
--highlightQuery.setHighlightOptions(highlightOptions);
- HighlightOptions 高亮封装(封装高亮所需要的设置信息)
--highlightOptions.addField(); 添加Field域
--highlightOptions.setSimplePrefix();设置高亮格式器前缀
--highlightOptions.setSimplePostfix();设置高亮格式器后缀
- HighlightPage:高亮分页
--highlightPage.getHighlighted();获取高亮项集合
- HighlightEntry:高亮项
--highlightEntry.getEntity();获取原封装实体
--highlightEntry.getHighlights();获取高亮集合-- highlightEntry.getHighlights().get(0) // 获取第一个高亮Field
.getSnipplets().get(0); // 第一个高亮内容
1.3 后端代码
pinyougou-search-service/src/main/java/com.pinyougou.search.service.impl的ItemSearchServiceImpl.java
/** 搜索方法 */
@Override
public Map<String, Object> search(Map<String,Object> params) {
/** 定义Map集合封装返回数据 */
Map<String,Object> data = new HashMap<>();
/** 获取查询关键字 */
String keywords = (String)params.get("keywords");
&