我已经尝试了几个小时了。但这并没有像预期的那样发挥作用。
我通过python脚本将数据推送到elasticsearch。下面是我想要的整数字段,但它们不是作为整数存储的。有时,它们是无类型,否则它们是字符串。所以,我做了这个
body['fuel_fee'] = int(rows[a][23] or 0)
body['late_fee'] = int(rows[a][24] or 0)
body['other_fee'] = int(rows[a][26] or 0)
但是我发现它们仍然是弹性存储的字符串。我想要sum
对这些进行操作。
我甚至删除了索引并重写了整个数据,因此我可以确认此处没有先前映射的问题。
为什么我没有将这些字段作为整数?我怎么能这样做?
编辑 - 我从postgres数据库中获取数据。在postgres中,这些字段存储为字符串,而不是整数。可以有任何影响吗?我想不,因为我在python中输入类型。
答案 0 :(得分:1)
字段的数据类型可通过以下任一方式确定
回到你的问题,你怎么知道你的所有字段都存储为字符串而不是整数?您可以尝试GET <your-index>/_mapping
并查看您的假设是否正确。
如果问题仍然存在,请尝试执行以下任一操作: