elastic查询笔记(2)
来源:互联网 发布:sql select语句- 编辑:程序博客网 时间:2024/05/07 14:09
这几天又遇到个问题,elastic的数据结构差的不多如下:
"labelInfo": [ { "id":1/*产品推荐ID*/ "labelId":1, "departDate":"2015-11-28", "labelName":"主推", "labelNotes":"标签备注", "updateUserName":"谁", "updateTime":"2015-11-0611: 05: 00" }, { "id":2/*产品推荐ID*/ "labelId":-1, "departDate":"2015-11-30", "labelName":"主推", "labelNotes":"标签备注", "updateUserName":"谁", "updateTime":"2015-11-0611: 05: 00" } ]
是一个list的结构,业务需求是查询labelId为1同时日期在2015-11-29之后的,一直不知道怎么组装querybuilder才能满足这条件,直到今天百度上搜搜看到有个国外老司机在NestedQueryBuilder里又放了个BoolQueryBuilder 陡然茅塞顿开啊。。(链接手残关掉了,历史记录都没找到。。)部分代码如下:
if (request.get("proLabelList") != null && !labelList.isEmpty()) { BoolQueryBuilder bQueryBuilder = new BoolQueryBuilder(); bQueryBuilder.must(new TermsQueryBuilder("labelInfo.labelId", labelList)); if (!StringUtil.isEmptyString(startDate) && !StringUtil.isEmptyString(endDate)) { bQueryBuilder.must(new RangeQueryBuilder("labelInfo.departDate").gte(startDate).lte(endDate)); } else if (!StringUtil.isEmptyString(startDate) && StringUtil.isEmptyString(endDate)) { bQueryBuilder.must(new RangeQueryBuilder("labelInfo.departDate").from(startDate)); } else if (StringUtil.isEmptyString(startDate) && !StringUtil.isEmptyString(endDate)) { bQueryBuilder.must(new RangeQueryBuilder("labelInfo.departDate").to(endDate)); } boolQueryBuilder.must(new NestedQueryBuilder("labelInfo", bQueryBuilder)); }
0 0
- elastic查询笔记(2)
- elastic查询笔记(1)
- Elastic search问题笔记: scroll查询数据
- Elastic Search 查询基础
- java elastic 常用查询
- ELASTIC SEARCH学习笔记
- elastic search 多条件查询
- elastic笔记:logstash插件安装
- elastic
- elastic
- Elastic Search快速上手(2):将数据存入ES
- node client of elastic search笔记
- elastic笔记:ik分词插件安装
- Elastic Search权威指南 第五章 结构化查询
- centos7 安装 elastic search 2.3.2
- 4.弹性网络( Elastic Net)
- Elastic Ball in the Frame(水题)
- elastic-job详解(一):数据分片
- Unity Animator不勾选Apply Root Motion的情况下改变模型旋转
- 彩色图像处理
- spring的aop拦截action中的方法会报java.lang.NoSuchMethodException: $Proxy97.test()异常
- Qt之进程间通信(TCP/IP)
- js获取宽、高
- elastic查询笔记(2)
- 责任链模式——使编程更有灵活性
- 浅谈单元测试之(一):单元测试的意义
- Docker入门实战
- mysql存储过程详解
- react-native 导航栏
- 160. Intersection of Two Linked Lists
- android 自定义控件
- redhat 配置 yum 源的两种方法