geospatial - ElasticSearch geo_shape mapping -
i mapping es type command
curl -xput 'http://localhost:9200/lbs/road5/_mapping' -d ' { "properties": { "location": { "type": "geo_shape", "tree": "quadtree", "precision": "1m" } } } but when insert source, es gives warning this
[2014-03-25 10:12:05,754][debug][action.index ] [shadowcat] [lbs][4], node[vtad6ymtqua7ootipartkg], [p], s[started]: failed execute [index {[lbs][road5][4625611], source[{"osm_id":4625611,"osm_type":"residential","name":"sindang sirana elok","location":{"type":"linestring","coordinates":[[[107.5891297,-6.877704],[107.5891175,-6.8784478]]]}}]}] org.elasticsearch.index.mapper.mapperparsingexception: failed parse [location] @ org.elasticsearch.index.mapper.geo.geoshapefieldmapper.parse(geoshapefieldmapper.java:244) @ org.elasticsearch.index.mapper.object.objectmapper.serializeobject(objectmapper.java:517) @ org.elasticsearch.index.mapper.object.objectmapper.parse(objectmapper.java:459) @ org.elasticsearch.index.mapper.documentmapper.parse(documentmapper.java:515) @ org.elasticsearch.index.mapper.documentmapper.parse(documentmapper.java:462) @ org.elasticsearch.index.shard.service.internalindexshard.prepareindex(internalindexshard.java:392) @ org.elasticsearch.action.index.transportindexaction.shardoperationonprimary(transportindexaction.java:203) @ org.elasticsearch.action.support.replication.transportshardreplicationoperationaction$asyncshardoperationaction.performonprimary(transportshardreplicationoperationaction.java:556) @ org.elasticsearch.action.support.replication.transportshardreplicationoperationaction$asyncshardoperationaction$1.run(transportshardreplicationoperationaction.java:426) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) @ java.lang.thread.run(thread.java:744) caused by: java.lang.nullpointerexception @ org.elasticsearch.common.geo.builders.baselinestringbuilder.decompose(baselinestringbuilder.java:90) @ org.elasticsearch.common.geo.builders.baselinestringbuilder.decompose(baselinestringbuilder.java:71) @ org.elasticsearch.common.geo.builders.baselinestringbuilder.build(baselinestringbuilder.java:55) @ org.elasticsearch.index.mapper.geo.geoshapefieldmapper.parse(geoshapefieldmapper.java:231) ... 11 more what's wrong document source?
{ "osm_id": 4625611, "osm_type": "residential", "name":"sindang sirana elok", "location": { "type": "linestring", "coordinates": [ [[107.5891297, -6.877704], [107.5891175, -6.8784478]] ] } }
your linestring has array level in coordinates. try changing to
{ "osm_id": 4625611, "osm_type": "residential", "name":"sindang sirana elok", "location": { "type": "linestring", "coordinates": [ [107.5891297, -6.877704], [107.5891175, -6.8784478] ] } }
Comments
Post a Comment