// 被本类调用
private Map searchList(Map searchMap) {
// 1.1关键字查询
SimpleHighlightQuery highlightQuery = new SimpleHighlightQuery(
new Criteria("hyd_keywords").is(searchMap.get("keywords")));
highlightQuery.setHighlightOptions(new HighlightOptions().addField("hyd_title")
.setSimplePrefix("<em style='color:red'>").setSimplePostfix("</em>")); // 1.2按分类筛选 相当having
if (!"".equals(searchMap.get("category"))) {
highlightQuery.addFilterQuery(new SimpleFilterQuery(new Criteria("hyd_category").is(searchMap.get("category"))));
} // 1.3按品牌筛选 同上
if (!"".equals(searchMap.get("brand"))) {
highlightQuery.addFilterQuery(new SimpleFilterQuery(new Criteria("hyd_brand").is(searchMap.get("brand"))));
} // 1.4过滤规格 同上
if (searchMap.get("spec") != null) {
Map<String, String> specMap = (Map) searchMap.get("spec");
for (String key : specMap.keySet()) {
highlightQuery.addFilterQuery(new SimpleFilterQuery(new Criteria("hyd_spec_" + key).is(specMap.get(key))));
}
} /*
* 查询 刚刚开始
*/
HighlightPage<TbItem> page = solrTemplate.queryForHighlightPage(highlightQuery, TbItem.class); for (HighlightEntry<TbItem> highlightEntry : page.getHighlighted()) {
TbItem tbItem = highlightEntry.getEntity(); if (highlightEntry.getHighlights().size() > 0
&& highlightEntry.getHighlights().get(0).getSnipplets().size() > 0) {
tbItem.setTitle(highlightEntry.getHighlights().get(0).getSnipplets().get(0));// 设置高亮的结果
}
} HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("rowsHyd", page.getContent());
return hashMap;
}

 

  

addFilterQuery方法需要的接口参数

 

筛选查询是执行原始查询后应用的简单solr查询。

最新文章

  1. [Android] 安卓模拟器临时文件相关问题
  2. OpenCV Start
  3. 善用VS中的Code Snippet来提高开发效率 分类: C# 2015-01-22 11:06 69人阅读 评论(0) 收藏
  4. corosync集群的选举算法
  5. MySQL常见建表选项以约束
  6. 201521123122 《java程序设计》第八周实验总结
  7. IntersectionObserver实现图片懒加载
  8. Java HashMap的扩容
  9. 简单实现计算机上多个jdk环境切换
  10. Java并发编程-并发工具类及线程池
  11. 为Ubuntu新创建用户创建默认.bashrc并自动加载
  12. 一次Windows 安装问题
  13. Log4j详细介绍(五)----输出地Appender
  14. C++解析五-this 指针,指向类的指针
  15. Java编程的逻辑 (69) - 线程的中断
  16. 高效开发iOS系列 -- 那些不为人知的KVC
  17. volatile关键字学习
  18. linux进程cpu资源分配命令nice,renice,taskset
  19. JAVAEE——宜立方商城09:Activemq整合spring的应用场景、添加商品同步索引库、商品详情页面动态展示与使用缓存
  20. Log4j(3)--rootLogger根配置和appender输出类型配置

热门文章

  1. canal 配置 详细说明
  2. spring mvc返回json格式和json字符串
  3. vue 关键词模糊查询
  4. DJango 基础 (3)
  5. socket failed: EACCES
  6. nginx实现http www服务的方式
  7. MySQL经典练习题
  8. HDU6446 Tree and Permutation(树上DP)
  9. Selenium 学习汇总
  10. CentOS 下用 Nginx 和 uwsgi 部署 flask 项目