solr多条件查询(二)
2016-03-25 17:25
211 查看
由于现在的 需求很变态需要N多条件的叠加,本人就用了一天时间摸索加求助,终于参透出这个q和fq的强大之处。
需求如下图,有三种关系:并且、或、不含
1.如果是或者也就是改变的q的查询条件;
2.如果是并且改变的是fq的查询条件;
3.如果是不含也是改变fq的查询条件;
起初的做二级查询用到了一个fq,举例:查询题名为“测试”并且题名为“改造”的数据,如果你已经入门solr的基础,这个并不难,首先q先查出题名为测试的,fq进行筛选,查询出测试下面的含有改造的信息。
三层就想的有点异想天开了 ,起初我是在原来的fq加了条件为机房的 ,怎么查都是错误的。跟上面的查询结果一样,
后来查资料,问大牛,才知道,小伙子你想的有点多了,三层就是在加一个fq。诧异!吃惊!,试了一把果然如此。
总结一下,超过二次筛选,在加一个fq。相当于Java再new一个对象进行再次筛选。
所以以上需求正确的简单查询:
q:测试
fq:改造
fq:机房
千万别跟我第一想法一样
q:测试
fq:改造 + 机房
好了总结到此!感谢读贴小伙伴。~~~~
需求如下图,有三种关系:并且、或、不含
1.如果是或者也就是改变的q的查询条件;
2.如果是并且改变的是fq的查询条件;
3.如果是不含也是改变fq的查询条件;
起初的做二级查询用到了一个fq,举例:查询题名为“测试”并且题名为“改造”的数据,如果你已经入门solr的基础,这个并不难,首先q先查出题名为测试的,fq进行筛选,查询出测试下面的含有改造的信息。
三层就想的有点异想天开了 ,起初我是在原来的fq加了条件为机房的 ,怎么查都是错误的。跟上面的查询结果一样,
后来查资料,问大牛,才知道,小伙子你想的有点多了,三层就是在加一个fq。诧异!吃惊!,试了一把果然如此。
总结一下,超过二次筛选,在加一个fq。相当于Java再new一个对象进行再次筛选。
所以以上需求正确的简单查询:
q:测试
fq:改造
fq:机房
千万别跟我第一想法一样
q:测试
fq:改造 + 机房
好了总结到此!感谢读贴小伙伴。~~~~
相关文章推荐
- [Powershell] 检查IIS设置
- 括号匹配,用栈处理
- Jil,高效的json序列化和反序列化库
- Yii2 mongodb 扩展的where的条件加入大于 小于号
- 机器学习基础(二十一)—— 分类与回归、生成模型与判别模型
- 二维树状数组
- Linux 内核源代码情景分析 chap 1 预备知识
- JAVA运行时问题诊断-工具应用篇
- lightoj 1064 - Throwing Dice 简单DP
- java获取获得Timestamp类型的当前系统时间
- 转场动画再次学习
- Android开机自启动程序
- Objective-C中的集合类
- vim 相关插件下载
- js中判断数组中的元素是否重复
- 【UVa】441 - Lotto
- 求职简历-Resume
- NYOJ 题目12 喷水装置(二) 最小区间覆盖问题
- bzoj 3198 spring
- Java并发编程:synchronized