0
私はアップグレードelasticsearch 2.xのは、クエリである5.0アップグレードelasticsearchの2.xはelasticsearchするためにいくつかのエラーの理由を入手5.0
をelasticsearchするクエリに問題があります。
"query": {
"function_score": {
"query": {
"filtered": {
"query": {
"dis_max": {
"queries": [{
"match_phrase": {
"title": {
"query": "keyword",
"slop": 3
}
}
}, {
"match_phrase": {
"content": {
"query": "keyword",
"slop": 3
}
}
}],
"tie_breaker": 0.3
}
},
"filter": {
"bool": {
"should": [{
"bool": {
"must": [{
"type": {
"value": "product"
}
}, {
"term": {
"is_deleted": false
}
}]
}
}, {
"bool": {
"must": [{
"type": {
"value": "service"
}
}, {
"term": {
"is_deleted": false
}
}]
}
}]
}
}
}
},
"functions": [{
"script_score": {
"script": "doc['_type'].value == 'product' ? _score * 15 : (doc['_type'].value == 'service' ? _score * 10 : _score)",
"lang": "groovy"
}
}]
}
}
私はその理由などを取得しますこの:
{
"error" : {
"root_cause" : [
{
"type" : "parsing_exception",
"reason" : "no [query] registered for [filtered]",
"line" : 6,
"col" : 76
}
],
"type" : "parsing_exception",
"reason" : "no [query] registered for [filtered]",
"line" : 6,
"col" : 76
},
"status" : 400
}
私は研究、filtered
5.0 elasticsearchにdepractedされていていると私はbool
に変更する必要があります。あなたはこれにあなたのクエリを変更する必要が
それが働いている..私は、私は間違いを持っていると思います'bool'に' filtered 'を置き換えたとき – itx
いいえ、 'script_score'も微調整が必要でした。 – Val
はい、私はそれを見逃しています。 – itx