Elasticsearch学习笔记:MUST_NOT not working with EXIST in NESTED query
环境
elasticsearch:6.7
嵌套查询中字段不存在
如下:
POST players/players/_search
{"query": {"bool": {"filter": [{"nested": {"path": "features","query": {"bool": {"must_not": [{"exists": {"field": "features" // 或者"field": "features.comment"}}]}}}}]}}
}
我们知道查询某个字段不存在,官方的文档:
curl -X GET "localhost:9200/_search?pretty" -H 'Content-Type: application/json' -d'
{"query": {"bool": {"must_not": {"exists": {"field": "user"}}}}
}
'
所以我们也就会自然而然的在嵌套查询里把其加上类似的写法。
但是老外的评论里,给出的写法是:
If instead of putting the must_not inside your nested query, you put the nested query inside of a must_not, it should work:
中文是说:不是将must_not
放到嵌套查询中里,而是将嵌套查询放到must_not
中。
POST players/players/_search
{"query": {"bool": {"must_not": [{"nested": {"path": "features","query": {"exists": {"field": "features"}}}}]}}
}
我的理解
把must_not
放到嵌套查询中,会有个逻辑问题。嵌套查询是通过path
来指定路径的。我们可以抽象的理解为:你已经进入了房间,却要在房间里判断这个房间是否存在。要判断房间是否存在应该在房间的外面才行。
参考地址:
MUST_NOT not working with EXIST in NESTED query
Elasticsearch学习笔记:MUST_NOT not working with EXIST in NESTED query相关推荐
- ElasticSearch学习笔记(8)· ES集群的搭建
目录 十三.集群的实现 1.相关概念 集群(cluster) 节点(node) 分配和复制(shards & replicas) 2.快速搭建集群 3.安装head插件 十三.集群的实现 1. ...
- 黑马程序员--分布式搜索ElasticSearch学习笔记
写在最前 黑马视频地址:https://www.bilibili.com/video/BV1LQ4y127n4/ 想获得最佳的阅读体验,请移步至我的个人博客 SpringCloud学习笔记 消息队列M ...
- elasticSearch学习笔记04-同义词,停用词,拼音,高亮,拼写纠错
由于elasticSearch版本更新频繁,此笔记适用ES版本为 7.10.2 此笔记摘录自<Elasticsearch搜索引擎构建入门与实战>第一版 文中涉及代码适用于kibana开发工 ...
- ElasticSearch 学习笔记:Multi Search
本文目录 1 简介 2 格式 3 header格式 4 body格式 5 返回格式 6 性能 7 相关文章 1 简介 批量查询接口(Multi Search API)允许在一次请求中执行多个查询操作, ...
- ElasticSearch学习笔记-ngram、中文拼音、简繁体搜索记录
ElasticSearch版本:elasticsearch-7.3.0 ElasticSearch相关插件安装可以参考: ElasticSearch学习笔记-插件安装记录_人生偌只如初见的博客-CSD ...
- ElasticSearch学习笔记之十一 Anayle API和IK分词器
ElasticSearch学习笔记之十一 Anayle API和IK分词器 Anayle API IK分词器 IK分词器版本支持 安装 下载或者编译 选择一 选择二 重启ElasticSearch I ...
- ElasticSearch学习笔记之二十一 指标聚合
ElasticSearch学习笔记之二十一 指标聚合 指标聚合 Avg Aggregation Script Value Script Missing value Weighted Avg Aggre ...
- ElasticSearch 学习笔记
ElasticSearch (狂神说学习笔记) 1.ES 概述 es是一个开源的高扩展的分布式全文检索引擎, 2.环境安装 环境准备:jdk,你得先安装一个jdk. ES官网: https://www ...
- 2022-04-21 ElasticSearch 学习笔记
Elasticsearch 通用能力 查看文档数量 GET http://192.168.1.243:9200/_count{"query": {"match_all&q ...
最新文章
- 大数据实战之环境搭建(八)
- CPPUNIT的安装和编译
- 【django】查询集QuerySet
- 对象的克隆(clone方法)
- Java XMPP负载测试工具
- hudson linux节点,在Linux下设置Hudson进行连续集成
- python学习之random
- 知识总结: Activity的四种启动模式
- Java实现redis事务
- 云服务器租用成本节约在哪里?
- 《11.02-构建之法:现代软件工程-阅读笔记》
- html - html5 audio 音乐自动播放,循环播放等9款播放器
- UART串口通信协议详解
- 当路町-网络下载应用系列之三-认识磁力链接Magnet URL
- 前端每日实战:77# 视频演示如何用纯 CSS 创作旗帜飘扬的动画
- 苹果CMS对接APP源码NVUE原生渲染
- 正睿OIday4总结
- 【转】2009最受欢迎中国技术博客评选(PB50)结果公布
- Flume+kafka+Spark Steaming demo2
- 关于图像模式识别的几种分类方法概述
热门文章
- imazing是什么?为什么选择 iMazing?
- ajax调用ashx页面内的方法
- Vivado 2017.4版本下载
- KubernetesDatabase-k8s中helm方式安装postgresql及pgadmin
- 泽塔云制胜秘诀:场景化破局超融合云计算市场
- 原生微信小程序实现号码隐藏,用****代替
- iphone文件连接smb服务器,实用!三种iPhone与Windows电脑互传文件操作技巧,建议收藏...
- 怎样学习人工智能呢?
- 安装程序出现2502、2503错误解决方法
- 高通平台开发系列讲解(USB篇)Linux Android USB软件架构