Logstash を使用して、ElasticSearch に送られるlocation
ログに属性を挿入しています。
"location" : {
"lat":31.07,
"lon":-82.09
}
次に、マッピングを設定して、ElasticSearch にGeo-Pointであることを伝えます。この呼び出しがどのように見えるべきか正確にはわかりません。これは私がこれまで使ってきたものです:
PUT logstash-*/_mapping/latlon
{
"latlon" : {
"properties" : {
"location" : {
"type" : "geo_point",
"lat_lon" : true,
"geohash" : true
}
}
}
}
Kibana 4 で一致するレコードを照会すると、location
フィールドに小さな地球の注釈が付けられます。ここまでは順調ですね。
タイル マップ ビジュアライゼーションに移動し、一致するレコードを表示し、地理座標でバケット化し、[Geohash
集計] ドロップダウンから選択location
し、Field
ドロップダウンから選択して [適用] を押しても、結果が返されません。
リクエストの集計部分は次のようになります。
"aggs": {
"2": {
"geohash_grid": {
"field": "location",
"precision": 3
}
}
}
そして応答:
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 10,
"failed": 0
},
"hits": {
"total": 689,
"max_score": 0,
"hits": []
},
"aggregations": {
"2": {
"buckets": []
}
}
}
Geo-Point マッピングが認識されているように見えますが、何らかの理由で ElasticSearch が結果を返していません。ここからトラブルシューティングする方法のヒントはありますか?