4

老实说,我不知道是谁给它命名painless的,因为它确实不是,而且文档肯定不准确。

首先,我试图与日期进行比较的字段映射为date.

脚本本身看起来像这样:

Date max = new Date(params.updated_at);
for (...) {
    if (ctx._source.arr[i]['updated_at'].after(max)) {
        max = ctx._source.arr[i]['updated_at'];
    }
}

ctx._source.updated_at = max;

我得到的错误是:"caused_by":{"type":"illegal_argument_exception","reason":"Unable to find dynamic method [after] with [1] arguments for class [java.lang.String]."

现在我的问题是:为什么地球上的一个场会被映射成date原来的样子string

阅读 API(https://www.elastic.co/guide/en/elasticsearch/painless/master/painless-api-reference.html)清楚地表明有Date一种after方法。

所以......我在这里做错了什么,或者是怎么回事?另外,如果是这样的话……我真的必须每次都将字符串解析回日期吗?如果是这样怎么办?

4

0 回答 0