【问题标题】:JSON geo-point mapping with fields not matching Elasticsearch documentation format字段与 Elasticsearch 文档格式不匹配的 JSON 地理点映射
【发布时间】:2018-01-08 20:31:00
【问题描述】:

我是 Elasticsearch 的新手,我正在尝试使用 Kibana 可视化一些 JSON 数据。我遇到的问题是地理点映射格式。

包含相关位置字段(经度/纬度)的 JSON 对象如下所示:

  "geoNetwork": {
    "city": "Test City",
    "cityId": "1234567",
    "continent": "Americas",
    "country": "Canada",
    "latitude": "44.1234",
    "longitude": "-63.6940",
    "metro": "(not set)",
    "networkDomain": "bellaliant.net",
    "networkLocation": "bell aliant regional communications inc.",
    "region": "Nova Scotia",
    "subContinent": "Northern America"
  },

这与 Elasticsearch 文档(https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html,第一个示例)中的地理点格式不匹配,因为经度和纬度不是 geoNetwork(位置)对象中仅有的两个键。

有没有办法定义地理点映射,以便我可以按原样使用 JSON,或者我必须修改 JSON 模式以拥有一个与文档中的地理点格式之一匹配的对象?

【问题讨论】:

    标签: elasticsearch kibana


    【解决方案1】:

    遗憾的是,您的要求是不可能的 :(

    Elasticsearch 需要一个 GeoPoint/GeoLocation/... 用于任何地理操作。

    因此,我会建议使用新的 GeoPoint 字段更新您的 json

    如果由于某种技术原因,这是不可能的,虽然我自己没有使用它们,但我会查找 elasticsearch 摄取管道。它的作用类似于 SQL 触发器。您将能够在索引过程之前动态添加新字段,这意味着您可以在插入时从纬度、经度字段中创建一个新的 GeoPoint 字段。

    GeoPointhttps://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html

    摄取管道https://www.elastic.co/guide/en/elasticsearch/reference/master/ingest.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多