解决es中must,must_not,should不能同时生效
开篇废话部分:
最近在写数据中心的项目,数据库用的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不能同时生效相关推荐
- 解决 idea 中 jsp 修改后页面不生效
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.问题描述:idea 编辑 jsp , 修改好后在 浏览器访问却发现页面完全无变化 . 2.解决, ...
- ES中配置ext.dic文件不生效的原因
主要原因:我们创建的ext.dic文件编码是ANSI,文件编码不是UTF-8(用记事本打开文件就可以看得到编码) 解决方法:将文本用记事本另存为,然后上传就好了. 记得重启ES
- 解决quasar中的q-tree结构default-expand-all不生效的问题
今天在工作中用quasar框架遇到了树(q-tree)结构默认不全部展开子节点的问题. quasar框架 代码中已经加入default-expand-all属性,但是就是不生效 <q-treec ...
- SpringData ES中字段名和索引中的列名字不一致导致的无法查询数据的解决方法
为什么80%的码农都做不了架构师?>>> 用SpringDataElasticsearch查询数据的时候可以将实体中的字段名与ES中mapping中field的名字起成一样的名 ...
- ES中的RollUp概念
在最新的ES中出现了一个X特性,卷数据(Data Rollup,不知道如何翻译,姑且这么称呼吧).这个卷数据是个什么概念呢? 如果做过监控(monitoring)的都知道,监控实际上是个大数据问题,这 ...
- ES 中时间日期类型 “yyyy-MM-dd HHmmss” 的完全避坑指南
文章目录 1.ES中的日期类型有何不同 2.案例 2.1 案例介绍 2.2 原理揭秘 3.路为何这么不平 4.又一个坑 5.总结 6.ES 的时间类型为什么这么难用,有没有什么办法可以解决? 7.更优 ...
- ES 中时间日期类型 “yyyy-MM-dd HH:mm:ss” 的完全避坑指南
文章目录 1.ES中的日期类型有何不同 2.案例 2.1 案例介绍 2.2 原理揭秘 3.路为何这么不平 4.又一个坑 5.总结 6.ES 的时间类型为什么这么难用,有没有什么办法可以解决? 7.更优 ...
- ES中如何实现in和not in查询
问题描述: 在ES中如何实现in和not in查询? 实现方案: ES中可以通过terms进行多值匹配查询,实现in和not in查询逻辑. 比如: "query": {" ...
- ES中 同时使用should和must 导致只有must生效 解决方案
使用ES查询语句的时候 会遇到嵌套多条件查询情况 title或者content包含xx(should) type必须是1(must) enabled必须是1(must_not) 只使用should查询 ...
最新文章
- DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
- graphical model
- 模拟使用Flume监听日志变化,并且把增量的日志文件写入到hdfs中
- python宣传图片_宣传图片制作网站
- BZOJ 3524: [Poi2014]Couriers【主席树】
- linux内存管理机制
- php 20分钟以前,php返回相对时间(如:20分钟前,3天前)的方法_PHP
- [Java] 蓝桥杯 BASIC-7 基础练习 特殊的数字
- 加速失败远程计算机不能反应,2008 R2 SP1远程桌面如何开启GPU加速?不讨论虚拟机...
- FCKeditor 2.6.4在ASP.NET中的配置方法
- PHP数据处理之下载远程图片到本地
- 华为数通ensp命令(四)
- IntelliJ IDEA主题修改
- C++无法打开库文件/无法打开源文件
- 10 大开源免费的项目管理软件推荐
- systemd 知:介绍
- python二级编程题百度文库_Python自动化面试常见的编程题及答案
- 【windows】windows创建软件raid0
- 【三种常见架构开发模式:MVC、MVP、MVVM】
- A - Rooms and Passages Gym - 102215A
热门文章
- AT24C04C/08C 中关于写保护WP的使用说明
- 一步步学习zynq软硬件协同开发(AX7010/20)【FPGA+ReWorks】:创建自定义IP实现rtc读写
- bind 跟服务器修改,DNS服务(bind9)配置过程
- Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改
- 互联网公司招聘--阿里巴巴--运营专员--2016年笔试题
- HTML常见标签的用法
- OC语言——基本语法和思想
- Linux显示中文—韩文—日文-Zhcon使用方法
- css设置竖排字体时letter-spacing无法有效设置字体间距
- NB模组(BC28/NB86-G)使用域名接入华为云方法