我需要从脚本访问存储在数组中的文档值。数组中项目的顺序很重要。
使用doc ['...']检索数组会混淆顺序:-(
假设一个像这样的简单文件
$perl_data{form . $num}{filed1} = {name_field => $name, type => $type, length => $max};
..code..
..code..
..code..
??? how i can add "key => $value" into $perl_data{form . $num}{filed1}?
使用此查询检索:
{
"ar":[5,4,3,2,1]
}
将以反向(排序)顺序返回数组:[1,2,3,4,5] 有没有办法防止这种行为?
我无法使用_source,因为我需要在“has_child”查询中使用它,该查询不支持_source。
任何想法?
答案 0 :(得分:1)
需要知道Elasticsearch如何索引数组字段。
要使字段可搜索,数组字段将按顺序编制索引,并且您无法获取脚本中的第一个值,如doc['ar'][0]
如果您希望原始数组包含订单,您可以使用_source
将其设为params._source['ar']
,结果将为[5,4,3,2,1]
,但速度要比使用doc
慢