0

Yo! elasticsearch 2.xで 'geo_point'マッピングを使って作業しているときに、このエラーを回避するためにいくつかの問題がありました。Elasticsearch 2.x:MongodbとMongoosasticを使用したgeo_pointのエラー

{ ... "coords": [-84.370829, 33.756670] //<lon, lat> ... }

curl -XDELETE localhost:9200/users 

curl -XPOST localhost:9200/users -d "{"mappings":{"user":{"properties":{"coords":{"type":"geo_point"}}}}}" 

{"error":{"root_cause":[{"type":"parse_exception","reason":"failed to parse source for create index"}],"type":"parse_exception","reason":"failed to parse source for create index","caused_by":{"type":"json_parse_exception","reason":"Unrecognized token 'geo_point': was expecting ('true', 'false' or 'null')\n at [Source: [[email protected]; line: 1, column: 56]"}},"status":400}% 

私のモックデータは次のようになります。以下のスクリプトを実行しているとき、私は私のコンソールにエラーを受信して​​います「geo_point」を含めるように私のモックデータをマップしようとしているときデフォルトでは、私の 'coords'はdouble型として保存されています。上記のスクリプトを実行してから、ESにmongodbコレクションのデータを組み込むことを確認しています。私はgeoNear関数を使用してMongoをクエリすることはできますが、パフォーマンス上の理由から、代わりにジオクエリを実行するESが必要です。

助けがあれば助かります。

答えて

0

あなたのJSONは、二重引用符が含まれているので、あなたは、単に単一引用符...

curl -XPOST localhost:9200/users -d '{"mappings":{"user":{"properties":{"coords":{"type":"geo_point"}}}}}' 

を使用して...またはJSON

curl -XPOST localhost:9200/users3 -d "{\"mappings\":{\"user\":{\"properties\":{\"coords\":{\"type\":\"geo_point\"}}}}}" 
+0

であなたの二重引用符をエスケープするか必要な答えてくれてありがとう!今は完璧に動作します。 – onlydirectionisup

+0

恐ろしい、それは助けてうれしい! – Val

関連する問題