Я использую 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\""
Все остальные вещи работают, как и ожидалось, даже если я пытаюсь отобразить с использованием одной долготы и широты.
Пожалуйста, помогите мне в этом, где я делаю неправильно.
Задача ещё не решена.
Других решений пока нет …