Я использую Elastic v7.4.2 и у меня есть процесс, который создает записи JSON с ключами в верхнем регистре:
{
"TS": 1572559271.768669,
...
"RESP_GEO": {
"CITY": "Ashburn",
"COUNTRY": "United States",
"SUBDIVISION": "Virginia",
"LOCATION": {
"LON": -77.4728,
"LAT": 39.0481
}
}
}
Я создал динамический шаблон для автоматической обработки метки времени и местоположений:
{
"dynamic_templates": [
{
"dates": {
"mapping": {
"type": "date"
},
"match": "TS"
}
},
{
"locations": {
"mapping": {
"type": "geo_point"
},
"match": "*LOCATION"
}
}
]
}
Задание загрузки вызывает ошибку:
field [RESP_GEO.LOCATION] of type [geo_point], caused_by "{"type":"parse_exception","reason":"field must be either [lat], [lon] ...
Атрибуты LAT
и LON
в JSON прописные. Эластик хочет, чтобы они были строчными. Есть ли способ заставить Elastic проигнорировать это дело? Или преобразовать все ключи в нижний регистр внутри Elastic в качестве шага предварительной индексации?