环境

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相关推荐

  1. ElasticSearch学习笔记(8)· ES集群的搭建

    目录 十三.集群的实现 1.相关概念 集群(cluster) 节点(node) 分配和复制(shards & replicas) 2.快速搭建集群 3.安装head插件 十三.集群的实现 1. ...

  2. 黑马程序员--分布式搜索ElasticSearch学习笔记

    写在最前 黑马视频地址:https://www.bilibili.com/video/BV1LQ4y127n4/ 想获得最佳的阅读体验,请移步至我的个人博客 SpringCloud学习笔记 消息队列M ...

  3. elasticSearch学习笔记04-同义词,停用词,拼音,高亮,拼写纠错

    由于elasticSearch版本更新频繁,此笔记适用ES版本为 7.10.2 此笔记摘录自<Elasticsearch搜索引擎构建入门与实战>第一版 文中涉及代码适用于kibana开发工 ...

  4. ElasticSearch 学习笔记:Multi Search

    本文目录 1 简介 2 格式 3 header格式 4 body格式 5 返回格式 6 性能 7 相关文章 1 简介 批量查询接口(Multi Search API)允许在一次请求中执行多个查询操作, ...

  5. ElasticSearch学习笔记-ngram、中文拼音、简繁体搜索记录

    ElasticSearch版本:elasticsearch-7.3.0 ElasticSearch相关插件安装可以参考: ElasticSearch学习笔记-插件安装记录_人生偌只如初见的博客-CSD ...

  6. ElasticSearch学习笔记之十一 Anayle API和IK分词器

    ElasticSearch学习笔记之十一 Anayle API和IK分词器 Anayle API IK分词器 IK分词器版本支持 安装 下载或者编译 选择一 选择二 重启ElasticSearch I ...

  7. ElasticSearch学习笔记之二十一 指标聚合

    ElasticSearch学习笔记之二十一 指标聚合 指标聚合 Avg Aggregation Script Value Script Missing value Weighted Avg Aggre ...

  8. ElasticSearch 学习笔记

    ElasticSearch (狂神说学习笔记) 1.ES 概述 es是一个开源的高扩展的分布式全文检索引擎, 2.环境安装 环境准备:jdk,你得先安装一个jdk. ES官网: https://www ...

  9. 2022-04-21 ElasticSearch 学习笔记

    Elasticsearch 通用能力 查看文档数量 GET http://192.168.1.243:9200/_count{"query": {"match_all&q ...

最新文章

  1. R语言ggplot2可视化:使用ggplot2按照热力图的方式显示全是分类变量的dataframe数据、并自定义因子(factor)的图例颜色legend
  2. [IOI2008]Island
  3. Linux文件目录类命令
  4. CF986A Fair
  5. SpringCloud(三)之Feign实现负载均衡的使用
  6. python中table表结构_python中的简易表格prettytable
  7. python中写入csv文件的方法_Python写入CSV文件的方法
  8. 小程序 || 语句_C ++条件语句| 查找输出程序| 套装2
  9. 【英语学习】【Daily English】U03 Leisure Time L04 I need to squeeze in some time for reading
  10. 张朝阳寄语“校花”把参赛比做登山 走到不同阶段都是一种成就
  11. Mybatis笔记 – Po映射类型
  12. 小程序 Serverless: 解放生产力,驱动研发效能提升
  13. linux系统命令学习系列8-文件相关操作touch,rm,mv,cat,head,tail命令
  14. k_means算法+python实现
  15. fasthttp中的协程池实现
  16. 在ASP.NET Atlas中调用Web Service——介绍及简单应用
  17. java 图片清晰度_Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图
  18. 引入组件时的错误:Module not found: Error: Can‘t resolve ‘@/pages/Search‘
  19. 洛谷(Python) P3717 [AHOI2017初中组]cover
  20. Power算法求X的N次幂

热门文章

  1. Xshell的使用方法(初学者)
  2. Thread创建线程
  3. 日常安全运营工作的一些思考
  4. 360全景拍摄方式总结:360度全景拍摄有哪些种类?
  5. 弹幕插件easyDanmaku.js使用详解
  6. 泽塔云在2022年Gartner中国区超融合市场竞争报告中被评为优秀厂商代表
  7. 思考者的回归--转帖今何在的优美文章《窗》之三
  8. JavaWeb - Request Response
  9. 敏捷方法 - 极限编程与工程实践
  10. Retrofit 2.0 超能实践(一),okHttp完美支持Https传输