我有代码
if(row.get("LATITUDE") != null && row.get("LONGITUDE") != null) {
result.put("geoPoint", ImportUtils.getGeoPoint(row));}
public static Map<String, Object> getGeoPoint(Map<String, Object> s) {
Map<String, Object> r = new HashMap<>();
BigDecimal lat = (BigDecimal) s.get("LATITUDE");
BigDecimal lon = (BigDecimal) s.get("LONGITUDE");
r.put("lat", lat.doubleValue());//широта -90/90
r.put("lon", lon.doubleValue());//долгота -180/180
return r;
}
问题是,如果我这样做,一些物体没有地球点场,但如果我把null或经度和纬度设为null,那么就会出现映射错误。
如果地理点是空,我希望它是这样的
"geopoint": {},
//or as a last resort
"geopoint" : null
映射
},
"geoPoint": {
"type": "geo_point"
}
我尝试了null_value:null,但由于某种原因,它不起作用我怎样才能达到我需要的结果?
更新映射w/ignore_malformed
:
...
{
"type" : "geo_point",
"ignore_malformed" : true
}
...