Elasticsearch Watcher 中格式错误的查询
Malformed query in Elasticsearch Watcher
我正在尝试在 Elasticsearch 中创建一个具有以下条件的手表:
- 字段"ht"必须小于100
- 字段 "sv" 不能是 "tier1",字段 "rv" 可以是任何其他内容。
- 字段 "sv" 不能是 "tier2",并且字段 "rv" 不能是 "red".
这是我目前的 body 搜索,但 returns:
"[term] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]":
"body": {
"query": {
"bool": {
"must": {
"range": {
"ht": { "lt": 100 }
}
},
"must_not": [{
"term": { "sv": "tier1" },
"bool": {
"must": [
{ "term": { "sv": "tier2" } },
{ "term": { "rv": "red" } }
]
}
}],
"filter": {
"range": {
"timestamp": {
"from": "now-10m",
"to": "now"
}
}
}
}
}
}
你能帮帮我吗?谢谢
问题出在 must_not
部分,您需要用额外的 {...}
包围每个约束
"must_not": [
{"term": { "sv": "tier1" }},
{"bool": {
"must": [
{ "term": { "sv": "tier2" } },
{ "term": { "rv": "red" } }
]
}}
],
我正在尝试在 Elasticsearch 中创建一个具有以下条件的手表:
- 字段"ht"必须小于100
- 字段 "sv" 不能是 "tier1",字段 "rv" 可以是任何其他内容。
- 字段 "sv" 不能是 "tier2",并且字段 "rv" 不能是 "red".
这是我目前的 body 搜索,但 returns:
"[term] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]":
"body": {
"query": {
"bool": {
"must": {
"range": {
"ht": { "lt": 100 }
}
},
"must_not": [{
"term": { "sv": "tier1" },
"bool": {
"must": [
{ "term": { "sv": "tier2" } },
{ "term": { "rv": "red" } }
]
}
}],
"filter": {
"range": {
"timestamp": {
"from": "now-10m",
"to": "now"
}
}
}
}
}
}
你能帮帮我吗?谢谢
问题出在 must_not
部分,您需要用额外的 {...}
"must_not": [
{"term": { "sv": "tier1" }},
{"bool": {
"must": [
{ "term": { "sv": "tier2" } },
{ "term": { "rv": "red" } }
]
}}
],