Elasticsearch数组字段在无痛脚本语言中访问时进行排序



>我有一个整数数组字段,例如my_integer_array .

我通过客户端将[3, 4, 1, 2]存储在字段中,我可以看到[3, 4, 1, 2]通过 Kibana 在文档的my_integer_array字段上成功设置。

但是每当我尝试使用无痛 Elasticsearch 脚本语言访问该字段时,例如 doc['my_integer_array'],它返回[1, 2, 3, 4],而不是[3, 4, 1, 2]。通过 doc['my_integer_array'][0] 访问它的元素会返回 1 ,而不是3

似乎 Painless 提供了字段数据的排序版本,而不是原始数组本身。我错过了什么吗?我可以禁用此行为并保留订单吗?

附言我正在使用elasticsearch-dsl-py Elasticsearch Python DSL库作为Elasticsearch客户端。

您可以访问数组设置 _source:true,然后使用 params._source['my_integer_array'],这样数组将在其原始状态下取消排序。

最新更新