2016-04-24 4 views
4

をgeohash_gridキーを変換:弾性検索は、この結果を返すelasticsearchにgeohash_grid aggsを使用緯度経度に

"aggregations": { 
    "Geo-hash": { 
    "buckets": [ 
     { 
      "key": "gcw05r6xz7cb", 
      "doc_count": 305 
     }, 
     { 
      "key": "gcw2hzkpf7b8", 
      "doc_count": 12 
     } 
    ] 
    } 

}

1)キーをセルの中心点を表しますか?

2)このキーをlat lonに変換するにはどうすればよいですか? - プラグインを使用しないでください(すべてのバージョンをサポートしていない、メンテナンスが必要ななど)と、elasticsearchのジオ・フォントを直接検索することを避けるために、プラグインがあります。

+0

あなたはこれを理解することができますか? – JMK

+0

@ User1234 elasticsearchで "geo point"タイプを試しましたか? –

+0

@SanuraHettiarachchiもちろん - geohash_gridを実行するには、フィールドが地理的ポイントでなければなりません。 geohash_grid結果キーをlat.lon値にパースする方法についての質問です。 – User1234

答えて

1

あなたのデータセットとカーディナリティは、あなたのように、トップヒットaggsを使用することができますあまりにも大きくない場合、私は私の質問で説明したように唯一の方法は、多くのプラグインの一つのクロスウェブ、as this one

任意の方法を使用することです次に文書からジオポイントフィールドを抽出します。 これは非常に高価な操作であり、小さなデータセットで賢明に使用することができます:)

{ 
    "size": 0, 
    "aggs": { 
    "geo": { 
     "geohash_grid": { 
     "field": "locationField", 
     "precision": 3 
     } 
     , 
    "aggs": { 
    "NAME": { 
     "top_hits": { 
     "size": 1 
     } 
    } 
    } 
    } 
    } 
} 
1

あなたの質問に答えるために:

  1. をキーにgeohashesは面積を表します。 geohashesの詳細については、これをお読みください: https://www.elastic.co/guide/en/elasticsearch/guide/current/geohashes.html

  2. ジオハッシュグリッドの集約については、このelasticsearchドキュメントの最後のセクションからは、同等のバウンディングボックスまたは中心点にジオハッシュを変換するライブラリを必要としています。 https://www.elastic.co/guide/en/elasticsearch/guide/current/geohash-grid-agg.html#geohash-grid-agg

あなたは同様の作業を実行するためにジオ境界集約を探るかもしれないが、私は、クライアント側でそれを変換することを好みます。

関連する問題