"reason":“[匹配] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]”
"reason" : "[match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]"
GET my-index/_search
{
"query": {
"match": {
"service.name": "myservice"
},
"exists": {"field": "metrics.notification.delayed"}}
}
当我执行上述查询时,我发现 “原因”:“[匹配] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]”.
基本上,我想要文档字段 "metrics.notification.delayed" 存在并且 field:value 匹配 "service.name": "myservice" 。谁能帮我解决这个问题??
由于您使用了多个查询,即 match
和 exists
,您需要使用 boolean query 将它们组合起来,如下所示,
GET my-index/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"service.name": "myservice"
}
},
{
"exists": {
"field": "metrics.notification.delayed"
}
}
]
}
}
}
GET my-index/_search
{
"query": {
"match": {
"service.name": "myservice"
},
"exists": {"field": "metrics.notification.delayed"}}
}
当我执行上述查询时,我发现 “原因”:“[匹配] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]”. 基本上,我想要文档字段 "metrics.notification.delayed" 存在并且 field:value 匹配 "service.name": "myservice" 。谁能帮我解决这个问题??
由于您使用了多个查询,即 match
和 exists
,您需要使用 boolean query 将它们组合起来,如下所示,
GET my-index/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"service.name": "myservice"
}
},
{
"exists": {
"field": "metrics.notification.delayed"
}
}
]
}
}
}