私は Java の経験がなく、elasticsearch の痛みのないスクリプト言語に問題があります。(痛みのない名前は適切に選択されていません)。
次のコードでは、エラーが発生します。
{"lang": "painless",
"inline": "float price = doc['newPrice'] > 0.0 ? doc['price'] / doc['newPrice'] : 0; _score * params.constant * price",
"params": {"constant": 1.2}}}}
[>] 操作をタイプ [org.elasticsearch.index.fielddata.ScriptDocValues.Doubles] および [java.lang.Double] に適用できません。
同じエラーで (float) doc['newPrice'] > 0 で float としてキャストするように結びました。
それから私はに変更しました"Double price = ((Double)doc['discountPrice'] > 0.0) ? doc['price'] / doc['discountPrice'] : 0; _score * params.constant * price",
そして受け取った:
「[ダブル]から[ダブル]へのキャストはできません。」
誰かが私を助けてくれますか、同様の種類のエラーで多くのバリエーションを試しました. くそー痛みのない言語...