0

Yo! Имея некоторые проблемы, возникшие в прошлые дни, работая над этой ошибкой при работе с отображением geo_point в elasticsearch 2.x. пытаясь сопоставить свои фиктивные данные, чтобы включить «geo_point» Я получаю ошибку в моей консоли при запуске ниже скрипт:Elasticsearch 2.x: Ошибка с geo_point с Mongodb и Mongoosastic

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

Мой макет данных выглядит следующим образом:

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

Он по умолчанию сохраняет мои «coords» как double. Я уверен, чтобы запустить вышеупомянутый скрипт перед посевом ES с данными из моих коллекций mongodb. Я могу запросить Mongo просто отлично, используя их функцию geoNear, но по соображениям производительности, чтобы 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

Смежные вопросы