函数得分 groovy 脚本未返回任何结果

function score groovy script not returning any result

我的查询是

{
    "query": {
    "function_score": {
    "functions": [{
    "script_score": {
                "lang": "groovy",
                "script_file": "category-score",
                "params": {
                  "my_modifier": "doc['category'].value"
                }
              }
    },
    {
    "script_score": {
                "lang": "groovy",
                "script_file": "popularity-score",
                "params": {
                  "my_modifier": "doc['popularity'].value"
                }
              }
    },
    {
    "script_score": {
                "lang": "groovy",
                "script_file": "type-score",
                "params": {
                  "my_modifier": "doc['finder_type'].value"
                }
              }
    }
    ],
    "query": {
    "filtered": {
    "query": {"multi_match": {
    "query": "rent,buy",
    "fields": ["category","categorytags"]
    }},"filter": {
    "bool" : {"must": [{"terms" : { "city": ["mumbai"] }}]}
    },"_cache" : true
    }
    },
    "score_mode": "sum",
    "boost_mode": "replace"
    }
    }}

我的四个脚本文件看起来像

(my_modifier == 'rent,buy' ? 10 : 0)

log(my_modifier1.value)

(my_modifier2 > 0 ? 20 : 0)

我正在尝试使用三个 script_score 函数计算函数得分中匹配文档的得分。 正如我在日志中看到的那样,我的脚本在启动时被编译,但它 return 我没有任何 result.ES 版本是 1.6.0。 另外,我如何在 ES-1.6.0 上启用 inline/dynamic 脚本,因为我尝试在 elasticsearch.yml 中进行许多设置更改,因为 ES 在 1.6.0 版本中对脚本模块进行了一些重大更改。

              "my_modifier": "doc['finder_type'].value"

Params 应该是一个值而不是脚本。