0
したがって、Nested + Filterクエリに問題があります。私は同じクエリ(キーと値のペアをどのようにjsonに配置するかを除く)と異なる結果(正しい応答と別のエラーをスローする)を出しています。狂ったように聞こえる?さて、私はそれを数回試して、それを十字チェックしました。ElasticSearch:ネストされたクエリ:同じクエリですが結果が異なる
成功したクエリ:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": {
"nested": {
"filter": {
"bool": {
"must": {
"nested": {
"filter": {
"bool": {
"must": [{
"term": {
"stream.tagging.tag": "some_tag"
}
}]
}
},
"path": "stream.tagging"
}
}
}
},
"path": "stream"
}
}
},
"and": [{
"not": {
"term": {
"deleted": "true"
}
}
}, {
"term": {
"source": 11
}
}]
}
}
}
}
エラークエリ:
{
"query": {
"filtered": {
"filter": {
"and": [{
"not": {
"term": {
"deleted": "true"
}
}
}, {
"term": {
"source": 11
}
}],
"bool": {
"must": {
"nested": {
"filter": {
"bool": {
"must": {
"nested": {
"filter": {
"bool": {
"must": [{
"term": {
"stream.tagging.tag": "some_tag"
}
}]
}
},
"path": "stream.tagging"
}
}
}
},
"path": "stream"
}
}
}
}
}
}
}
エラーメッセージ:私はそれらを個別に発射するとき
nested: QueryParsingException[[stream_rules_test] No filter registered for [must]]; }]","status":400
はまた、唯一の入れ子になったとだけフィルタクエリ、それを注意してくださいあまりにもうまくいく。私は愚かな間違いをしていないことを願っていますが、私は何も見逃していないとほとんど確信しています。
ESバージョン:1.5
使用しているESのバージョンは? – Val
@Val ElasticSearch 1.5 – thisisnish