将geo_point从MongoDB映射到Elasticsearch

时间:2017-06-09 09:55:56

标签: mongodb elasticsearch mapping

我试图使用Kibana将位置信息视为geo_point。数据已经从Mongodb转移到ElasticSearch。 Mongodb中的数据如下所示:

{ "_id" : "1", "location" : "42.2734, -83.7133", "dst_ip" : "192.168.79.136", "src_ip" : "35.139.46.72" }

我找到了一个类似我的question,所以我在Mongodb中使用字符串类型,但在ElasticSearch中使用" location"也是字符串。

那么,如何映射应存储为geo_point的值?

1 个答案:

答案 0 :(得分:0)

你应该首先在ES中创建正确的映射,像

一样
PUT my_index
{
  "mappings": {
    "my_type": {
      "properties": {
        "location": {
          "type": "geo_point"
        }
      }
    }
  }
}

您需要这样做,因为ES不是无模式的,并且在索引时解释,分析和处理数据。在此之后,您可以使用已有的表单对数据进行索引 - 逗号分隔的字符串与coords就可以了。

有关详细信息,请参阅geo point docs