Проблема с поиском с сортировкой по дистанции

Если делаю поиск без сортировки то все выдает отлично, координаты в данных есть, типа geo_point, однако если делаю такой запрос:

GET _search
{
  "sort" : [{
        "_geo_distance" : {
            "geo_location" : [56.308586, 30.632302],
            "order" : "asc",
            "unit" : "km",
            "distance_type" : "plane"
        }
  }],
  "query": {
     "simple_query_string": {
     "query": "21 век",
     "fields": ["name"]
  }
}

то у меня выскакивает вот такая ошибка:

{
"error" : {
"root_cause" : [
{
"type" : "class_cast_exception",
"reason" : "class org.elasticsearch.index.fielddata.plain.SortedNumericDVIndexFieldData cannot be cast to class org.elasticsearch.index.fielddata.IndexGeoPointFieldData (org.elasticsearch.index.fielddata.plain.SortedNumericDVIndexFieldData and org.elasticsearch.index.fielddata.IndexGeoPointFieldData are in unnamed module of loader 'app')"
}
],
"type" : "search_phase_execution_exception",
"reason" : "all shards failed",
"phase" : "query",
"grouped" : true,
и т.д.

с чем может быть это связано???

Какая версия, маппинг, и как это воспроизвести?

1 Like

Я разобрался, можно закрыть тред - все было совсем в другом - у меня hunspell не подключался так как я забыл каталог положить - и не делался маппинг из-за этого. В итоге получалось что поле было не того типа и он не мог привести типы ....

Спасибо что сказали маппинг сделать !!!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.