elasticsearch - es中可以查询包含多子查询类型吗
问题描述
我有以下简单的代码片段。我想查询包含 value 字段并且名称为 hello 的文档,
PUT /lib59/_doc/1
{
"name": "hello",
"value":1
}
GET /lib59/_search
{
"query":{
"term": {
"name":"hello"
},
"exists": {
"field": "value"
}
}
}
但是当我运行它时,出现错误,错误信息是:
我会问ES是否支持我上面写的查询,如果不支持,我该如何表达我的查询?谢谢。
解决方案
您需要使用bool/must
子句组合您的查询
{
"query": {
"bool": {
"must": [
{
"term": {
"name": "hello"
}
},
{
"exists": {
"field": "value"
}
}
]
}
}
}
推荐阅读
- sql - 检查查询中传递的参数中是否存在某个值(SQL SERVER)
- ios - 在 UIApplicationStateBackground 中运行 CKFetchRecordsOperation
- python - 数据框对象没有属性“plt”
- r - 训练集和验证集的混淆矩阵
- node.js - 将 pm2 env 限制为显示环境
- android - EditText 出现在设计中,但没有出现在真正的 apk 中
- php - 如何在 php 中比较 24 小时时间格式?
- android - 错误:程序类型已存在:android.arch.lifecycle.ComputableLiveData$2
- selenium-webdriver - 我无法从下拉列表中找到一个元素,它显示 NoSuchElementException 有人可以帮我解决我在这里输入的问题
- html - 日期选择器功能