ここのドキュメントから: http://www.elasticsearch.org/guide/reference/mapping/geo-point-type.html
geo_point は異なる形式を受け入れると言います。例: これら 2 つがサポートされています
「場所」:「-71.34、41.12」
「場所」:{「緯度」:41.12、「経度」:-71.34}
この二つは同じですか?と聞きたいです。私は ES 0.17.6 を使用していますが、次の問題があります。
(1)の形式でインデックスを作成すると、(2)の形式では検索できません。(1)の形式で再度検索すると成功です。
例: (2) 形式でインデックスを作成する場合:
curl -XPUT 'http://localhost:9200/twitter/pin/1' -d '
{
"pin" : {
"location" : {
lat: 41.12,
lon: -71.34
},
"tag" : ["food", "family"],
"text" : "my favorite family restaurant"
}
}'
この (1) 形式では検索できません
curl -XGET 'http://localhost:9200/twitter/pin/_search' -d '
{
"query": {
"filtered" : {
"query" : {
"field" : { "text" : "restaurant" }
},
"filter" : {
"geo_distance" : {
"distance" : "12km",
"pin.location" : "-71.34, 41.12"
}
}
}
}
}
'
そして、(2)形式を使用して検索すると成功します:
2. "pin.location" : {
"lat" : 41.12,
"lon" : -71.34
}