Kibana Maps可视化报告`数据视图不包含任何地理空间字段`

ijnw1ujt  于 2023-04-27  发布在  Kibana
关注(0)|答案(1)|浏览(537)

我有一些Elasticsearch的日志事件(弹性云)。这些事件通过摄取管道。对于某些事件,我使用(条件)GeoIP processor,它根据IP地址添加有关地理位置的信息。(条件)脚本处理器手动转换日志事件中出现的纬度、经度、国家名称、国家代码等,根据ECS(弹性公共模式)spec将其转换为Geo field
当我尝试在Kibana中向Map可视化添加图层(例如文档图层或Choropleth图层)时,我得到一个错误Data view does not contain any geospatial fields .

我指定的logs-*数据视图包括具有geo字段的事件,例如

"geo": {
  "continent_name": "Oceania",
  "region_iso_code": "AU-NSW",
  "city_name": "Sydney",
  "country_iso_code": "AU",
  "country_name": "Australia",
  "region_name": "New South Wales",
  "location": {
    "lon": 151.2006,
    "lat": -33.8715
  }
}

我不确定geo字段或某些嵌套字段(无论是由GeoIP处理器添加到事件中,还是通过脚本处理器手动添加到事件中)是否使用错误的类型进行了索引?如果查看geo.location.latgeo.location.lon字段的字段类型,则会得到以下结果:

"fields": {
    "geo": {
      "object": {
        "type": "object",
        "metadata_field": false,
        "searchable": false,
        "aggregatable": false
      }
    },
    "geo.location": {
      "object": {
        "type": "object",
        "metadata_field": false,
        "searchable": false,
        "aggregatable": false
      }
    },
    "geo.location.lat": {
      "float": {
        "type": "float",
        "metadata_field": false,
        "searchable": true,
        "aggregatable": true
      }
    }
  }

我已经尝试了几件事,包括在我的GeoIP处理器中指定一个不同的目标字段(例如geox),该字段将单独进行索引,但该字段最终具有相同的字段类型,并且在尝试创建Map可视化时仍然会出现Data view does not contain any geospatial fields错误。
我怎么才能让它工作?

abithluo

abithluo1#

Elasticsearch的dynamic mapping无法检测地理空间字段。您需要手动将纬度和经度值Map为geo_point字段。
如果你不想重新索引你的数据,你可以创建一个runtime geo_point字段,它可以在Maps中使用(只要你是在更高的版本中,比如8.7)。

相关问题