Solr4:查询参数fq的用法(对结果进行过滤;两组关键词组合查询)
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的用法(对结果进行过滤;两组关键词组合查询)相关推荐
- Solr查询参数fq
摘要: 查询参数fq即过滤查询(filter query).一般用来将查询的结果限定在某一范围,其作用类似于参数q,有时候可以被q取代. 限制某一字段值 搜索,有时候需要建立在某一特定条件下进行的.比 ...
- html获取url后面的参数_Golang Gin 实战(四)| URL查询参数的获取和原理分析
在 上一篇 Golang Gin 实战(三)| 路由参数 文章中,主要介绍了路由通配符.路由参数,让我们有了一种可以从URL路径中获取参数的方式,同时又不是重复的注册相似的路由. 这一篇,主要介绍查询 ...
- 亿级数据多条件组合查询——秒级响应解决方案
1 概述 组合查询为多条件组合查询,在很多场景下都有使用.购物网站中通过勾选类别.价格.销售量范围等属性来对所有的商品进行筛选,筛选出满足客户需要的商品,这是一种典型的组合查询.在小数据量的情况下,后 ...
- solr常用查询参数意义及其简单用法
最近开始搞solr,其查询界面的一些参数令人费解,于是写篇博客总结一下较常用的参数的意义和用法. 查询参数界面如下图: q:query 查询字符串 输入 * : *,返回所有结果 输入 apple,返 ...
- hsweb提取页面查询参数_zabbix-基础系列(七)-zabbix用户参数
Zabbix 用户参数 1.介绍和用法 1.介绍 自定义用户参数,也就是自定义key,有时可能想要运行一个代理检查,而不是 Zabbix 的预定义,就可以编写一个命令来检索需要的数据,并将其包含在代理 ...
- Solr学习总结(四)Solr查询参数
今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出sol ...
- 六、solr查询参数
原地址:http://www.cnblogs.com/zhangweizhong/p/5056884.html 今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只 ...
- Go 学习笔记(50)— Go 标准库之 net/url(查询转义、查询参数增/删/改/查、解析URL)
1. URL 概述 import "net/url" url 包解析 URL 并实现了查询的转码.URL 提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案( ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user ...
最新文章
- LeetCode 21. Merge Two Sorted Lists
- (转载)聊聊Git原理
- 总结20121016
- python和vb的代码可以通用吗-VB6+Python混合编程(COM组件)(转)
- PAT甲级1147 Heaps (30 分):[C++题解]堆、树的遍历、dfs、完全二叉树建树
- Python学习笔记:Day5 编写web框架
- Notepad++的安装和基本使用
- Mysql 取用逗号分隔的字串的子串的方法:SUBSTRING_INDEX
- 计算机计算能力共享,如何共享计算机的计算能力?
- Tips--图像特征提取方法HOG、SIFT、LBP优缺点对比
- 贝叶斯信念网络Bayes Belief network
- 用QXmlStreamWriter写入xml
- kitti数据集_CVPR2020 | PV-RCNN: 3D目标检测 Waymo挑战赛+KITTI榜 单模态第一算法
- x86架构PC机系统总线概述
- html svg 线条动画,HTML5 SVG图形轮廓线条绘制动画插件-vivus
- typora用Pandoc导出html,typora使用pandoc导出功能
- 人生就是一场直播——经蓓老师莅临大米时代公益讲座
- jmeter第21讲 阿里云下载安装JDK并配置环境变量
- 支付宝转账-提取根证书失败 AlipayRootCert Is Invalid
- vi新建一个shell脚本_编写第一个Shell脚本
热门文章
- Vue+i18n多语言动态设置(保姆级案例教程)
- 【SCOI2013】【BZOJ3323】多项式的运算
- 基于nginx-rtmp-module模块实现的HTTP-FLV直播模块nginx-http-flv-module(二)
- 宇宙(Universe)
- linux 内存溢出排查_Linux 系统内存泄漏的堆积隐患的排查与解决
- sklearn使用实践之对moons数据集进行决策树训练并优化模型
- matlab收敛半径,运用MATLAB语言解决级数及其相关问题 李娟娟
- Window安装服务
- pdf转png,解决微信,Android不能直接展示pdf的问题
- NB-IoT芯片原厂及其型号(18家)