我正在运行Elasticsearch v6.7.2,并希望索引如下所示的JSON:
{
"src": {
"ip": "10.0.1.32"
},
"dst": {
"ip": "74.6.168.73",
"location": {
"lat": 37.751,
"lon": -97.822
}
},
"in": 197.0,
"out": 76.0,
"timestamp": 1.557746197E12
}
如您所见,JSON是嵌套的。 lat
/ lon
值是location
的属性,而这些属性又属于src
(源)或dst
(目标)。>
如果源或目标IP地址的地理位置数据不存在,则JSON中缺少location
属性。例如,上例中的源地址是私有IP,在IP地理位置服务中没有关联的条目。
我试图弄清楚如何在Elastic中创建映射,以便将时间戳字段(Unix millis)和位置存储/索引为正确的类型,以便可以对其进行搜索。位置应存储为geo_point
类型。
几件事让我感到困惑:
从Kibana可以看到的“自动”索引器似乎无法识别{"location": {"lat": ..., "lon": ...}}
是geo_point
:
有人知道如何为该数据创建映射吗?