我有一个整数数组字段,例如my_integer_array
。
我通过客户端将[3, 4, 1, 2]
存储在该字段上,我可以看到通过Kibana在文档的[3, 4, 1, 2]
字段上成功设置了my_integer_array
。
但每当我尝试使用Painless Elasticsearch脚本语言访问该字段时,例如doc['my_integer_array']
,它返回[1, 2, 3, 4]
,而不是[3, 4, 1, 2]
。通过doc['my_integer_array'][0]
访问它的元素会返回1
,而不是3
。
似乎Painless提供了字段数据的排序版本,而不是原始数组本身。我错过了什么吗?我可以禁用此行为并保留订单吗?
P.S。我正在使用elasticsearch-dsl-py Elasticsearch Python DSL库作为Elasticsearch客户端。
答案 0 :(得分:0)
您可以访问数组设置_source:true,然后使用params._source [' my_integer_array']这样,数组将以原始状态取消排序。