结构化搜索_在案例中实战基于bool组合多个filter条件来搜索数据
1、搜索发帖日期为2017-01-01,或者帖子ID为XHDK-A-1293-#fJ3的帖子,同时要求帖子的发帖日期绝对不为2017-01-02
select * from forum.article where (post_date='2017-01-01' or article_id='XHDK-A-1293-#fJ3') and post_date!='2017-01-02' GET /forum/article/_search { "query": { "constant_score": { "filter": { "bool": { "should": [ {"term": { "postDate": "2017-01-01" }}, {"term": {"articleID": "XHDK-A-1293-#fJ3"}} ], "must_not": { "term": { "postDate": "2017-01-02" } } } } } } }
must,should,must_not,filter:必须匹配,可以匹配其中任意一个即可,必须不匹配
2、搜索帖子ID为XHDK-A-1293-#fJ3,或者是帖子ID为JODL-X-1937-#pV7而且发帖日期为2017-01-01的帖子
select * from forum.article where article_id='XHDK-A-1293-#fJ3' or (article_id='JODL-X-1937-#pV7' and post_date='2017-01-01') GET /forum/article/_search { "query": { "constant_score": { "filter": { "bool": { "should": [ { "term": { "articleID": "XHDK-A-1293-#fJ3" } }, { "bool": { "must": [ { "term":{ "articleID": "JODL-X-1937-#pV7" } }, { "term": { "postDate": "2017-01-01" } } ] } } ] } } } } }
3、梳理学到的知识点
(1)bool:must,must_not,should,组合多个过滤条件
(2)bool可以嵌套
(3)相当于SQL中的多个and条件:当你把搜索语法学好了以后,基本可以实现部分常用的sql语法对应的功能
详细请观看视频讲解:http://www.roncoo.com/course/view/f6c7d5f0eef34b20b280621e42facbcf
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
常用的分布式事务解决方案介绍
视频教程学习地址: http://www.roncoo.com/course/view/7ae3d7eddc4742f78b0548aa8bd9ccdb 点击链接加入群【分布式微服务架构-2群】:https://jq.qq.com/?_wv=1027&k=46DbqB3 龙果开源支付系统 : 龙果支付系统是国内首款开源的互联网支付系统,其核心目标是汇聚所有主流支付渠道,打造一款轻量、便捷、易用,且集支付、资金对账、资金清结算于一体的支付系统,满足互联网业务系统的收款和业务资金管理需求。 主要特点: 具备支付系统通用的支付、对账、清算、资金账户管理、支付订单管理等功能; 目前已接通“支付宝即时到账”和“微信扫码支付”通道; 支持直连和间连两种支付模式,任君选择; 通过支付网关,业务系统可以轻松实现统一支付接入; 搭配运营后台,支付数据的监控和管理可以兼得; 配套完善的系统使用文档,可轻松嵌入任何需要支付的场景; 龙果支付系统产品技术团队是一支拥有多年第三方支付系统设计研发经验的团队,会为龙果支付系统持续提供商业级的免费开源技术服务支持。 开源中国地址:http://www.osc...
- 下一篇
为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?
Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spring Boot 的热情,那么在这么多人热衷于学习 Spring Boot 之时,我自己也在思考: Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot? 传统企业使用 Spring Boot 会给我们带来什么样变革? 带着这些问题,我们一起来了解下 Spring Boot 到底是什么? Spring 历史 说起 Spring Boot 我们不得不先了解一下 Spring 这个企业,不仅因为 Spring Boot 来源于 Spirng 大家族,而且 Spring Boot 的诞生和 Sping 框架的发展息息相关。 时间回到2002年,当时正是 Java EE 和 EJB 大行其道的时候,很多知名公司都是采用此技术方案进行项目开发。这时候有一个美国的小伙子认为 EJB 太过臃肿,并不是所有的项目都需要使用 EJB 这种大型框架,应该会有一种更好的方案来解决这个问题。 为了证明他的想法...
相关文章
文章评论
共有0条评论来说两句吧...