弹性搜索top_hits聚合与lucene表达式

时间:2015-07-10 23:14:34

标签: elasticsearch

我想做一个字段折叠热门命中聚合,完全如下所示:

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html#_field_collapse_example

特别是,这个细分是一个问题:

"top_hit": {
    "max": {
        "script": "_score"
    }
}

因为生产环境配置为:

script.disable_dynamic: sandbox

这意味着我不能使用groovy脚本,而不会在这些行中出现错误:

nested: ScriptException[dynamic scripting for [groovy] disabled];

如果我像这样更改查询:

"top_hit": {
    "max": {
        "lang": "expression",
        "script": "_score"
    }
}

我得到了不同类型的错误:

nested: IllegalStateException[Expressions referencing the score can only be used for sorting];

弹性搜索版本是1.5.2。有没有办法做我想要的(使用lucene表达式)?

1 个答案:

答案 0 :(得分:0)

我在谷歌搜索后找到了答案。这是一个已知问题,已修复。

https://github.com/elastic/elasticsearch/issues/10091

不清楚它固定在哪个版本中。