为什么elasticsearch 0.19.12存储长整数

时间:2013-09-05 12:13:02

标签: elasticsearch

我在elasticsearch中有这个

.startObject("mylongfield").field("type", "long").field("store", "true").field("index", "not_analyzed").endObject()

Map<String, Object> row
row.put("mylongfield", Long.valueOf("0").longValue());
OR
row.put("mylongfield", Long.valueOf(0L).longValue());

当我后来的地图

resultMap = searchHit.sourceAsMap()
resultMap.get("mylongfield") ... IT IS AN INTEGER ?!?

为什么ealsticsearch存储我的整数?

1 个答案:

答案 0 :(得分:0)

我使用Elasticsearch 0.90.5遇到了类似的行为 - 数据的值似乎覆盖了映射。

讨论了同样的问题here。如果我理解正确,就会发生这种情况,因为Elasticseach使用Jackson将JSON数据转换为Map,这是基于值完成的。我已经使用instanceof来确定返回的Object的类。