Elastic может игнорировать регистр при использовании динамических шаблонов для индексации geo_point? - PullRequest
0 голосов
/ 01 ноября 2019

Я использую 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 в качестве шага предварительной индексации?

...