开篇废话部分:

最近在写数据中心的项目,数据库用的ES,最开始用的都是must条件(也是模仿别人写的),后来加了must_not之后,发现不生效。查来查去,没解决问题,放弃了。再后来又写should,发现还是不生效,然后就来劲了,无论如何也要解决掉。

正文部分:

最开始在网上模仿的es多条件的语句,是这么写的:

"query": {"bool": {"must": [ must条件一, must条件一],"should": [should条件一]"must_not": [ must_not条件一]}}

但是我这么写,must_not的条件,根本不生效.。
后来参考了这个文章的思路
参考文章链接
改成了如下结构:

    "query": {"bool": {"must": [{"bool": {"must": [must条件一,must条件二]}},{"bool": {"should": [should条件一,should条件二]}},{"bool": {"must_not": [must_not条件一]}}]}}

然后所有的条件就都生效了。

详细的原理,可以去看参考链接,这里只做解决方案的总结记录。

参考文章链接

结尾废话部分:

感觉这个嵌套,有点像是Python的Pandas的mask过滤方法,
如果是一个条件过滤,就直接:

df[ df['列名']==某值 ]

如果是多个条件,就需要加上np.array()

df[ np.array( df['列名1']==某值1 ) | np.array( df['列名2']==某值2 ) ]

解决es中must,must_not,should不能同时生效相关推荐

  1. 解决 idea 中 jsp 修改后页面不生效

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.问题描述:idea 编辑 jsp , 修改好后在 浏览器访问却发现页面完全无变化 . 2.解决, ...

  2. ES中配置ext.dic文件不生效的原因

    主要原因:我们创建的ext.dic文件编码是ANSI,文件编码不是UTF-8(用记事本打开文件就可以看得到编码) 解决方法:将文本用记事本另存为,然后上传就好了. 记得重启ES

  3. 解决quasar中的q-tree结构default-expand-all不生效的问题

    今天在工作中用quasar框架遇到了树(q-tree)结构默认不全部展开子节点的问题. quasar框架 代码中已经加入default-expand-all属性,但是就是不生效 <q-treec ...

  4. SpringData ES中字段名和索引中的列名字不一致导致的无法查询数据的解决方法

    为什么80%的码农都做不了架构师?>>>    用SpringDataElasticsearch查询数据的时候可以将实体中的字段名与ES中mapping中field的名字起成一样的名 ...

  5. ES中的RollUp概念

    在最新的ES中出现了一个X特性,卷数据(Data Rollup,不知道如何翻译,姑且这么称呼吧).这个卷数据是个什么概念呢? 如果做过监控(monitoring)的都知道,监控实际上是个大数据问题,这 ...

  6. ES 中时间日期类型 “yyyy-MM-dd HHmmss” 的完全避坑指南

    文章目录 1.ES中的日期类型有何不同 2.案例 2.1 案例介绍 2.2 原理揭秘 3.路为何这么不平 4.又一个坑 5.总结 6.ES 的时间类型为什么这么难用,有没有什么办法可以解决? 7.更优 ...

  7. ES 中时间日期类型 “yyyy-MM-dd HH:mm:ss” 的完全避坑指南

    文章目录 1.ES中的日期类型有何不同 2.案例 2.1 案例介绍 2.2 原理揭秘 3.路为何这么不平 4.又一个坑 5.总结 6.ES 的时间类型为什么这么难用,有没有什么办法可以解决? 7.更优 ...

  8. ES中如何实现in和not in查询

    问题描述: 在ES中如何实现in和not in查询? 实现方案: ES中可以通过terms进行多值匹配查询,实现in和not in查询逻辑. 比如: "query": {" ...

  9. ES中 同时使用should和must 导致只有must生效 解决方案

    使用ES查询语句的时候 会遇到嵌套多条件查询情况 title或者content包含xx(should) type必须是1(must) enabled必须是1(must_not) 只使用should查询 ...

最新文章

  1. DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
  2. graphical model
  3. 模拟使用Flume监听日志变化,并且把增量的日志文件写入到hdfs中
  4. python宣传图片_宣传图片制作网站
  5. BZOJ 3524: [Poi2014]Couriers【主席树】
  6. linux内存管理机制
  7. php 20分钟以前,php返回相对时间(如:20分钟前,3天前)的方法_PHP
  8. [Java] 蓝桥杯 BASIC-7 基础练习 特殊的数字
  9. 加速失败远程计算机不能反应,2008 R2 SP1远程桌面如何开启GPU加速?不讨论虚拟机...
  10. FCKeditor 2.6.4在ASP.NET中的配置方法
  11. PHP数据处理之下载远程图片到本地
  12. 华为数通ensp命令(四)
  13. IntelliJ IDEA主题修改
  14. C++无法打开库文件/无法打开源文件
  15. 10 大开源免费的项目管理软件推荐
  16. systemd 知:介绍
  17. python二级编程题百度文库_Python自动化面试常见的编程题及答案
  18. 【windows】windows创建软件raid0
  19. 【三种常见架构开发模式:MVC、MVP、MVVM】
  20. A - Rooms and Passages Gym - 102215A

热门文章

  1. AT24C04C/08C 中关于写保护WP的使用说明
  2. 一步步学习zynq软硬件协同开发(AX7010/20)【FPGA+ReWorks】:创建自定义IP实现rtc读写
  3. bind 跟服务器修改,DNS服务(bind9)配置过程
  4. Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改
  5. 互联网公司招聘--阿里巴巴--运营专员--2016年笔试题
  6. HTML常见标签的用法
  7. OC语言——基本语法和思想
  8. Linux显示中文—韩文—日文-Zhcon使用方法
  9. css设置竖排字体时letter-spacing无法有效设置字体间距
  10. NB模组(BC28/NB86-G)使用域名接入华为云方法