运行脚本时,空的ctx._source变量

时间:2019-08-06 09:52:56

标签: elasticsearch elasticsearch-painless

在elasticsearch头中,我运行查询以检索某些聚合。为此,我需要从ctx变量获取一些信息。在我尝试使用的脚本中: ctx._source我得到nullPointerException。

"aggregations": {
    "fieldId": {
      "terms": {
        "script": {
          "source": "... <Here I want to get ctx._source but I get null pointer>... ,
          "lang": "painless"
        },
        ...
        ]
      }
    }
  }

1 个答案:

答案 0 :(得分:0)

特殊的ctx变量仅在索引编制期间可用(摄取处理器,update_by_query等...)。

有关无痛脚本上下文和可用变量的更多信息,请访问here

我认为该来源在聚合期间不可用,因为在进行聚合之前,它将使所有文档来源具有弹性。那将有巨大的开销。您只能依靠doc_values创建脚本值。