У меня есть данные в elasticsearch, как это
"id": "edff12sd3" "main_array": [ { "id": "2308", "name": "Grey Area", "location": { "lat": 28.5696577, "lon": 77.3229933 } } , { "id": "2274", "name": "Tribute to The Beatles by Atul Ahuja- Live Music", "location": { "lat": 29.5696577, "lon": 77.3229933 } }
Теперь я хочу установить geo_point для поля местоположения. Я так старался
{ "mappings": { "search_data": { "properties": { "main_array.location": { "type": "geo_point" } } } } }
но это бросает мне ошибку
"type": "mapper_parsing_exception", "reason": "Field name [main_array.location] cannot contain '.'"
не могли бы вы помочь мне. благодаря
location
является свойством объектов, которые вы храните в main_array
, поэтому попробуйте вот так:
{ "mappings": { "search_data": { "properties": { "main_array": { "properties": { "location": { "type": "geo_point" } } } } } } }
Обратите внимание, что имена полей ES 2.0 могут не содержать точек