Solr查询参数文档可以参考:

http://wiki.apache.org/solr/CommonQueryParameters#head-6522ef80f22d0e50d2f12ec487758577506d6002

这里主要说一下fq参数的使用。

1. 需求一

搜索商户信息时,已经可以按指定关键词搜索;但有时需要缩小范围,比如在江苏省范围搜索,或者是苏州市范围内搜索。注意:不是指记录包含“江苏省”、"苏州市“关键词的,而是此记录的行政区域属性值是属于”江苏省“或者是”苏州市"的。

2. 实现一

1). schema.xml定义如下:

   <field name="detail_id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="category_id" type="int" indexed="true" stored="true" required="true"/> <field name="province_id" type="int" indexed="true" stored="true" required="true"/> <field name="district_id" type="int" indexed="true" stored="true" required="true"/> 

这些编号应该是不需要分词、需要索引、是否存储视情况而定;我这里设计为需要存储,并且设计为不能为空。

注意:千万别把这些field的type设计成中文分词的类型。

2). JSP页面中包含类似于如下代码:

    // 代码片段一,获取查询参数String q = request.getParameter("q"); // 查询参数String cid = request.getParameter("cid"); // 分类String pid = request.getParameter("pid"); // 省String did = request.getParameter("did"); // 地区
// 代码片段二,解析查询参数StringBuilder sbFilter = new StringBuilder();if(!did.equals("")){// 地区标识优先级大于省市级别sbFilter.append("+district_id:" + did);}else if(!pid.equals("")) {sbFilter.append("+province_id:" + pid);}if(!cid.equals("0")) {// 分类标识 sbFilter.append(" +category_id:" + cid);}
// 代码片段三,初始化查询SolrQuery params = new SolrQuery("text:(" + q + ")");params.set("start", startRow);params.set("rows", PAGE_ROWS);params.set("fl", "detail_id,category_name,province_name,district_name,title,publish_time,detail_info");params.set("sort", "publish_time desc");params.addFilterQuery(sbFilter.toString());

3). q与fq的不同

如果单就上面的功能而言,把这些查询参数全部放在q中也能达到相关目的。但参数q有个副作用,如果正文中出现了id值,它会高亮的。比如说,查询江苏省的数据(江苏省的province_id=100),那么在搜索结果中如果包含了100这样的数字,这个100会被高亮显示的。

4). fq还可以查询一个时间段时的数据,具体参考它的文档。

3. 需求二

要求实现两组关键词的组合查询。

比如:两组关键词分别是(贪污、受贿)与(江苏省、苏州市),组合查询后输出结果是包含(贪污、江苏省)OR(贪污、苏州市)OR(受贿、江苏省)OR(受贿、苏州市)关键词的信息。

4. 实现二

实现方式请参考:Solr4:利用Filter实现两组关键词组合查询

转载于:https://www.cnblogs.com/nayitian/p/3240145.html

Solr4:查询参数fq的用法(对结果进行过滤;两组关键词组合查询)相关推荐

  1. Solr查询参数fq

    摘要: 查询参数fq即过滤查询(filter query).一般用来将查询的结果限定在某一范围,其作用类似于参数q,有时候可以被q取代. 限制某一字段值 搜索,有时候需要建立在某一特定条件下进行的.比 ...

  2. html获取url后面的参数_Golang Gin 实战(四)| URL查询参数的获取和原理分析

    在 上一篇 Golang Gin 实战(三)| 路由参数 文章中,主要介绍了路由通配符.路由参数,让我们有了一种可以从URL路径中获取参数的方式,同时又不是重复的注册相似的路由. 这一篇,主要介绍查询 ...

  3. 亿级数据多条件组合查询——秒级响应解决方案

    1 概述 组合查询为多条件组合查询,在很多场景下都有使用.购物网站中通过勾选类别.价格.销售量范围等属性来对所有的商品进行筛选,筛选出满足客户需要的商品,这是一种典型的组合查询.在小数据量的情况下,后 ...

  4. solr常用查询参数意义及其简单用法

    最近开始搞solr,其查询界面的一些参数令人费解,于是写篇博客总结一下较常用的参数的意义和用法. 查询参数界面如下图: q:query 查询字符串 输入 * : *,返回所有结果 输入 apple,返 ...

  5. hsweb提取页面查询参数_zabbix-基础系列(七)-zabbix用户参数

    Zabbix 用户参数 1.介绍和用法 1.介绍 自定义用户参数,也就是自定义key,有时可能想要运行一个代理检查,而不是 Zabbix 的预定义,就可以编写一个命令来检索需要的数据,并将其包含在代理 ...

  6. Solr学习总结(四)Solr查询参数

    今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出sol ...

  7. 六、solr查询参数

    原地址:http://www.cnblogs.com/zhangweizhong/p/5056884.html 今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只 ...

  8. Go 学习笔记(50)— Go 标准库之 net/url(查询转义、查询参数增/删/改/查、解析URL)

    1. URL 概述 import "net/url" url 包解析 URL 并实现了查询的转码.URL 提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案( ...

  9. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示.  比如 SELECT * FROM [user ...

最新文章

  1. LeetCode 21. Merge Two Sorted Lists
  2. (转载)聊聊Git原理
  3. 总结20121016
  4. python和vb的代码可以通用吗-VB6+Python混合编程(COM组件)(转)
  5. PAT甲级1147 Heaps (30 分):[C++题解]堆、树的遍历、dfs、完全二叉树建树
  6. Python学习笔记:Day5 编写web框架
  7. Notepad++的安装和基本使用
  8. Mysql 取用逗号分隔的字串的子串的方法:SUBSTRING_INDEX
  9. 计算机计算能力共享,如何共享计算机的计算能力?
  10. Tips--图像特征提取方法HOG、SIFT、LBP优缺点对比
  11. 贝叶斯信念网络Bayes Belief network
  12. 用QXmlStreamWriter写入xml
  13. kitti数据集_CVPR2020 | PV-RCNN: 3D目标检测 Waymo挑战赛+KITTI榜 单模态第一算法
  14. x86架构PC机系统总线概述
  15. html svg 线条动画,HTML5 SVG图形轮廓线条绘制动画插件-vivus
  16. typora用Pandoc导出html,typora使用pandoc导出功能
  17. 人生就是一场直播——经蓓老师莅临大米时代公益讲座
  18. jmeter第21讲 阿里云下载安装JDK并配置环境变量
  19. 支付宝转账-提取根证书失败 AlipayRootCert Is Invalid
  20. vi新建一个shell脚本_编写第一个Shell脚本

热门文章

  1. Vue+i18n多语言动态设置(保姆级案例教程)
  2. 【SCOI2013】【BZOJ3323】多项式的运算
  3. 基于nginx-rtmp-module模块实现的HTTP-FLV直播模块nginx-http-flv-module(二)
  4. 宇宙(Universe)
  5. linux 内存溢出排查_Linux 系统内存泄漏的堆积隐患的排查与解决
  6. sklearn使用实践之对moons数据集进行决策树训练并优化模型
  7. matlab收敛半径,运用MATLAB语言解决级数及其相关问题 李娟娟
  8. Window安装服务
  9. pdf转png,解决微信,Android不能直接展示pdf的问题
  10. NB-IoT芯片原厂及其型号(18家)