我不能在弹性搜索中放置等于空的地理点



我有代码

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
}
...

相关内容

  • 没有找到相关文章

最新更新