Elasticsearch не может запросить WKT

Я получаю данные геометрии с MS SQL Server 2012 через соединение jdbc и отправляю их в elasticsearch. Таблица данных состоит из: объекта и формы. В Kibana данные выглядят следующим образом.

  "objectid": 8,
     "untitled": "POLYGON ((16131003.104400001 -4962095.885400001, 16131161.300499998 -4962011.5243000016, 16130990.071999997 -4961961.9569999985, 16131003.104400001 -4962095.885400001))",

Поле «Форма» здесь отображается как «без названия», а на отображении оно показывает тип данных как текст,

 "untitled": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              }

Я запрашиваю данные из Kibana со следующим запросом, и он выдает мне следующую ошибку.

GET geo/_search
{
    "query": {
        "bool" : {
            "must" : {
                "match_all" : {}
            },
            "filter" : {
                "geo_polygon" : {
                    "untitled" : {
                        "points" : [
                        {"lat" : 16131003.104400001, "lon" : -4962095.885400001},
                        {"lat" : 16131161.300499998, "lon" : -4962011.5243000016},
                        {"lat" : 16130990.071999997, "lon" : -4961961.9569999985},
                        {"lat" : 16131003.104400001, "lon" : -4962095.885400001}
                        ]
                    }
                }
            }
        }
    }
}



  "error": {
    "root_cause": [
      {
        "type": "query_shard_exception",
        "reason": "field [untitled] is not a geo_point field",
        "index_uuid": "WEVvAQgASeap6n1eyOZ54g",
        "index": "geo"
      }
    ],
    "type": "search_phase_execution_exception",
    "reason": "all shards failed",
    "phase": "query",
    "grouped": true,
    "failed_shards": [
      {
        "shard": 0,
        "index": "geo",
        "node": "LuX-kU91RqqzKj-0DKFN6Q",
        "reason": {
          "type": "query_shard_exception",
          "reason": "field [untitled] is not a geo_point field",
          "index_uuid": "WEVvAQgASeap6n1eyOZ54g",
          "index": "geo"
        }
      }
    ]
  },
  "status": 400
}

Был бы очень признателен, если бы кто-нибудь мог помочь мне с этим.

пс. Я новичок в elasticsearch и извините за глупый вопрос :(

Ваше здоровье


person Graduate    schedule 18.07.2018    source источник


Ответы (1)


Вам нужно изменить отображение вашего поля untitled на геоформа.

Затем вы сможете использовать запрос геофигуры.

person dadoonet    schedule 18.07.2018
comment
Спасибо за ваш ответ @dadoonet В elastic.co/guide /en/elasticsearch/reference/6.3/geo-shape.html, там указано, что эластичность поддерживает WKT. Могу ли я изменить тип или преобразовать WKT в geo_shape? - person Graduate; 19.07.2018
comment
Вам нужно переиндексировать - person dadoonet; 19.07.2018