我有這種格式20000個GeoJSON的文件:測繪地理多邊形彈性搜索/ Kibana 5.3
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[long,lat],
[long,lat],
[long,lat],
[long,lat],
[long,lat]
]
]
},
所有我已經嘗試與geo_shape和geo_point要麼沒有Kibana露面或kibana顯示映射,但沒有數據。映射這個索引許多文件的最佳方法是什麼? (如果沒有好的方法,我的下一個想法是爲每個文件創建一箇中心點,如果我不能使用所有的座標,也許需要第一個long,lat數組,併爲每個json文件設置geo_point中心點。去了解這不是)
這是ES默認映射,當我的索引不改變任何東西:
{
"indexname" : {
"mappings" : {
"my_type" : {
"properties" : {
"geometry" : {
"properties" : {
"coordinates" : {
"type" : "float"
},
"type" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
},
UPDATE 這是我的新的映射:
{
"indexname" : {
"mappings" : {
"my_type" : {
"properties" : {
"geometry" : {
"type" : "geo_shape",
"tree" : "quadtree",
"precision" : "1.0m"
},
"id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
然而,當我去kibana我仍然得到試圖在可視化增強tilemap的時候會出現錯誤:
No Compatible Fields: The "indexname" index pattern does not contain any of the following field types: geo_point
EDIT2 這是我的命令創建的映射:
curl -XPUT "http://localhost:9200/indexname" -d "{\"mappings\" : {\"my_type\" : {\"properties\" : {\"geometry\" : {\"type\":\"geo_shape\", \"tree\": \"quadtree\", \"precision\": \"1m\"}}}}}"
我「M通過循環和發送POST請求我的索引文件:
r = requests.post(url_of_index, data=file(jsonfiles).read())
當我嘗試的類型更改爲geo_point和然後索引我的文件,我遇到了映射器解析器異常。
我能做到這一點,但仍然得到同樣的錯誤不兼容字段:「indexname」索引模式不包含以下任何字段類型:geo_point – user6754289
也許您應該更新您的問題並顯示您正在運行的命令以及您收到的錯誤。 – Val
已更新 - 我想嘗試在增強的貼圖上顯示某些內容。但是,geo_shape似乎不被支持。我如何使用多邊形數組作爲一個點? – user6754289