Я не могу поставить геопункт, равный нулю, вasticsearch - PullRequest
0 голосов
/ 31 марта 2020

У меня есть код

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

Проблема в том, что если я это сделаю, у некоторых объектов не будет поля с геопозицией, но если я укажу ноль или укажу долготу и широту как ноль, тогда это ошибка отображения причина, по которой это не сработало. Как мне добиться нужного результата?

1 Ответ

1 голос
/ 31 марта 2020

Обновите ваше отображение w / ignore_malformed:

...
{
 "type" : "geo_point",
 "ignore_malformed" : true
}
...
...