2016-05-10 11 views
0

"test"という名前の "test"という名前のインデックスがあり、geo_shape型の "path"という名前のフィールドがあります。 「パス」フィールドのマッピングは以下のとおりです。elasticsearchのMultiLineStringフィールドの解析例外

"path" : { "type" : "geo_shape", "tree" : "quadtree", "precision" : "1m" } 

索引が作成され、「パス」を除くすべてのフィールドに索引付けされています。 "path"値を持つ行を更新しようとすると、例外がスローされます。私が試したコードと例外を以下で見つけてください。行を挿入する

コード::

curl -XPOST 'http://192.168.22.10:9200/test/Test/road4/_update' -d '{ 
"doc" : { 
    "path" : {"type" : "multilinestring", "coordinates" : [[-123.04884393678275, 49.23705680269003], [-123.04879834103596, 49.23159242031221], [-123.04880573577739, 49.23116567921752], [-123.04668158540538, 49.290719445433304], [-123.0466780844126, 49.291215069306], [-123.04670614567429, 49.27962543136022], [-123.04670642699772, 49.279082952438834], [-123.04936250390882, 49.27579927483156], [-123.04937093312175, 49.27538530710557], [-123.05055562575079, 49.21895094399069], [-123.05055807601889, 49.21846682583291], [-123.04670649653067, 49.27867636307187], [-123.04670701928822, 49.278269503692414], [-123.04880573577739, 49.23116567921752], [-123.0488097592407, 49.23076600972447], [-123.04962419053852, 49.248828838567086], [-123.04963156425279, 49.24793363261724], [-123.05047029168206, 49.221885631113466], [-123.05051215363366, 49.22107152666596], [-123.04963893290395, 49.24545136109131], [-123.04964184010389, 49.244621898312424]]}}}' 

例外が持っ::

{"error":"MapperParsingException[failed to parse [linePath]]; nested: NullPointerException; ","status":400} 

誰かがこのに見て、助けることができる場合には、大きな助けになります。..

事前に感謝、 SantoshM

答えて

0

あなたはこの

curl -XPOST 'http://192.168.22.10:9200/test/Test/road4/_update' -d '{ 
"doc" : { 
    "path" : {"type" : "multilinestring", "coordinates" : [[[-123.04884393678275, 49.23705680269003], [-123.04879834103596, 49.23159242031221], [-123.04880573577739, 49.23116567921752], [-123.04668158540538, 49.290719445433304], [-123.0466780844126, 49.291215069306], [-123.04670614567429, 49.27962543136022], [-123.04670642699772, 49.279082952438834], [-123.04936250390882, 49.27579927483156], [-123.04937093312175, 49.27538530710557], [-123.05055562575079, 49.21895094399069], [-123.05055807601889, 49.21846682583291], [-123.04670649653067, 49.27867636307187], [-123.04670701928822, 49.278269503692414], [-123.04880573577739, 49.23116567921752], [-123.0488097592407, 49.23076600972447], [-123.04962419053852, 49.248828838567086], [-123.04963156425279, 49.24793363261724], [-123.05047029168206, 49.221885631113466], [-123.05051215363366, 49.22107152666596], [-123.04963893290395, 49.24545136109131], [-123.04964184010389, 49.244621898312424]]]}}}' 
よう multilinestringのための3つの配列を、必要とします
0

ええ、私のコードでエラーがあります。

マルチライン入力の書式が正しくありません。それは以下のようにすべきです。上記のコードの場合

{ 
    "location" : { 
    "type" : "multilinestring", 
    "coordinates" : [ 
     [ [102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0] ], 
     [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0] ], 
     [ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8] ] 
    ] 
    } 
} 

、私は「ラインストリング」と「折れ線」からタイプを変更する必要がありますか、私は上記のフォーマットに私の入力を変更する必要があります。

ありがとうございました。