elasticsearch - Elasticsearch:查询以搜索字段是否根本不存在,不应匹配 [](空数组字段)
问题描述
我有一些带有字段的文档,links : []
而其他文档根本没有该字段links
。
我想获取根本没有该字段links
的文档。我尝试了以下查询:
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "links"
}
}
}
}
}
但是这个查询也返回文档links:[]
解决方案
您最好的选择是修改字段映射以考虑空值,请参阅此链接(文档)。
您可以在布尔值中使用通配符查询 * 来查看它是否有任何术语 - 但这是一种非常低效/缓慢的查询方式,并且可能不实用,具体取决于该字段的基数。
推荐阅读
- chisel - 什么机制可以在 chisel3 详细说明中显示组件 ID
- javascript - 如何使用流分析存储传入事件的 UDF 返回值?
- javascript - 如何在尚未满足条件时执行一系列控制
- excel - 即使使用新的空白工作簿,Excel 也会警告“此工作簿包含链接”
- c# - 单选按钮始终选中项目显示 False
- elasticsearch - 带有打印机的设备监控状态的 ElasticSearch 数据可视化
- python - 将类应用于列表中的项目
- visual-studio - Visual Studio 2019 中的 Emacs 键绑定
- apache-spark - Spark Streaming如何保证多个foreachRDD的顺序
- javascript - 单击表单的搜索按钮时从 API 获取数据并在 React JS 的另一个页面上显示数据