今天使用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!