ElasticSearch QueryParsingException не удалось найти поле гео-точки

попытка построить поиск следующим образом:

{
  "query": {
    "filtered": {
      "query": {
        "match_all": {}
      },
      "filter": {
        "geo_distance": {
          "distance": "50km",
          "coordinates": {
            "lat": 52.5234051,
            "lon": 4.113999
          }
        }
      }
    }
  }
}

здесь координаты типа 'geo_point'.

но когда я пытаюсь запустить этот запрос, elasticsearch.журнал всплывает с ошибкой: [местоположения] не удалось найти поле geo_point [координаты]

Edit:

это часть /locations / location / _mapping:

{
  "locations": {
  "mappings": {
  "location": {
  "properties": {
    ...
    "coordinates": {
      "properties": {
        "lat": {
          "type": "string"
         },
        "lon": {
          "type": "string"
        }
      }
    },
   ...
 }
}

есть идеи, что здесь не так?

1 ответов


проблема заключается в отображении.вам нужно использовать geo_point в сопоставлении.. передать этот .