나는 Java 경험이 없으며 elasticsearch painless script language와 관련된 문제점이 있습니다. (고통받지 않는 이름은 잘 선택되지 않았습니다). 다음 코드를Elasticsearch painless script 오류
나는 오류를 얻을 :
{"lang": "painless",
"inline": "float price = doc['newPrice'] > 0.0 ? doc['price']/doc['newPrice'] : 0; _score * params.constant * price",
"params": {"constant": 1.2}}}}
Cannot apply [>] operation to types [org.elasticsearch.index.fielddata.ScriptDocValues.Doubles] and [java.lang.Double].
내가 같은 오류와 (플로트) 문서 [ 'newPrice']> 0으로 플로트로 캐스팅 묶여.
은 그 때 나는"Double price = ((Double)doc['discountPrice'] > 0.0) ? doc['price']/doc['discountPrice'] : 0; _score * params.constant * price",
로 변경 수신 :
'Cannot cast from [Double] to [double].'
누군가가 나를 도울 수있는 오류의 유사한 종류의 변화를 많이 시도했다. 고통스러운 언어 ...
당신은'.value'을 놓치고 사용해야
에서 다른 필드 값에 액세스합니다. 이것을 대신해볼 수 있습니까? double price = doc [ 'newPrice']. value> 0.0? doc [ 'price']. value/doc [ 'newPrice']. 값 : 0; _score * params.constant * price' – Val
와우. 문서에서 .value는 어디에서 찾았습니까? 대답으로 추가하십시오. 맞습니다. –
이것이 언급 된 문서에 대한 링크를 추가하고 추가했습니다. – Val