Easysearch、Elasticsearch 还是 Opensearch,是个问题

script排序里的source字段报错unknown

Elasticsearch | 作者 godma | 发布于2019年01月10日 | 阅读数:7422

```
"sort" : {
        "_script" : {
            "type" : "number",
            "script" : {
                "lang": "painless",
                "source": "doc['photoId'].value * params.factor",
                "params" : {
                    "factor" : 1.1
                }
            },
            "order" : "asc"
        }
    }
···
这是我查询里的排序脚本,报400.
```
{
    "error": {
        "root_cause": [
            {
                "type": "parsing_exception",
                "reason": "[_script] failed to parse field [script]",
                "line": 35,
                "col": 17
            }
        ],
        "type": "parsing_exception",
        "reason": "[_script] failed to parse field [script]",
        "line": 35,
        "col": 17,
        "caused_by": {
            "type": "illegal_argument_exception",
            "reason": "[script] unknown field [source], parser not found"
        }
    },
    "status": 400
}
```
但是官方文档也这么写的啊
不能粘图片就把官网的code粘过来了
```

GET /_search { "query" : { "term" : { "user" : "kimchy" } }, "sort" : { "_script" : { "type" : "number", "script" : { "lang": "painless", "source": "doc['field_name'].value * params.factor", "params" : { "factor" : 1.1 } }, "order" : "asc" } } }
 
```
已邀请:

rochy - rochy_he

赞同来自:

看起来没毛病,个人猜测是 ES 版本问题;
如果你使用的是 ES2.X,那么是不支持这种写法的

要回复问题请先登录注册