私はelasticsearchにnullに等しいgeopointを置くことができません

DEEN DEEN:

私は規則を持っています

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

問題は、私はこれを行う場合、いくつかのオブジェクトがgeopointフィールドを持っていないということですが、私はヌルとしてnullまたはプット経度と緯度を入れた場合、マッピング・エラーがあります。

geopointがnullの場合、私はそれがこのようになりたいです

"geopoint": {}, 
//or as a last resort
"geopoint" : null

マッピング

   },
        "geoPoint": {
          "type": "geo_point"

          }

nullの場合、何らかの理由で、それは私が結果Iの必要性を達成することができますどのように動作しませんでした:私はNULL_VALUEを試してみましたか?

jzzfs:

/ワットあなたのマッピングを更新しますignore_malformed

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

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=374983&siteId=1