ElasticsearchParseException [字段必须是[lat],[lon]或[geohash]];
根据字面意思很清楚是什么问题,我们打印出序列化后的json,如下:
{"bizStatus":"EMPTY","companyId":"dz123","driverRegionCode":1,"position":{"fragment":true,"geohash":"s1zyd63zwsd7","lat":11.0,"lon":11.0},"speed":10,"time":1547021108810,"vehicleNo":"沪A123456"} 分析问题:
position字段我是用了es的GeoPoint对象,提交数据的时候,要么只提交经纬度,要么只提交geohash。
解决方案:
我们重新定义一个经纬度的对象,如下:
重新序列化后的json数据如下:
或者类似下面结构也可以
参考资料:
https://stackoverflow.com/questi ... h-with-a-java-class
|