今天使用ES遇到一个异常 :
Caused by: java.lang.IndexOutOfBoundsException: docID must be >= 0 and < maxDoc=6 (got docID=2147479807)
ES返回值为:-Infinity。
后来发现是自己脚本写错了
"script_score" : {
"script" : {
"inline" : "return atan(_score.doubleValue())/3.14159+log(doc[\"auction_score\"].value)/4"
}
}
这里log 函数使用错误应为
log(doc[\"auction_score\"].value+1)
一切OK!