Я использую ElasticSearch PHP и сопоставленное местоположение в качестве географической точки, как предлагается в документе
'location' => [
'type' => 'geo_point'
]
Запрос, который я запускаю, чтобы проиндексировать их в документе, так как мне нужно несколько значений
select CONCAT('[', (select GROUP_CONCAT(CONCAT('[', CONCAT(city.latitude,',',city.longitude), ']'))
from city, city_xref
where city_xref.city_id = city.id), ']') as location from search_table;
Во время выполнения запроса я могу видеть результаты в браузере запросов, как показано ниже
[[37.77993,-121.97802],[37.77993,-121.97802]]
пробовал пару других способов
[{37.77993,-121.97802},{37.77993,-121.97802}]
другим способом
{{37.77993,-121.97802},{37.77993,-121.97802}}
Но это выдает ошибку, подобную этой
mapper_parsing_exception"
reason "failed to parse"
caused_by
type "number_format_exception"
reason "For input string: \"[{lat: 37.77993\""
В остальном все остальное работает как положено, даже если я пытаюсь составить карту с использованием одной долготы и широты.
Пожалуйста, помогите мне в этом, где я делаю неправильно.