Q是如何在没有elasticsearch5.2
的情况下sort
获得距离?
这是映射(名为'service_point'的模型):
{
"service_point": {
"properties": {
"id": {
"type": "long"
},
"type": {
"type": "long"
},
"name": {
"type": "text",
"analyzer": "ngram_tokenizer_analyzer",
"search_analyzer": "ngram_tokenizer_analyzer"
},
"location": {
"type": "geo_point"
}
}
}
}
假设我的位置是:{"lat":"31.182024","lon":"121.492417"}
而且,我想搜索一个名为“西湖”的地方。并希望得到我的位置和'西湖'之间的距离?如何获得距离?
这是我的剧本,找到距离100KM
内的地方,并命名为“西湖”,但我无法得到我的位置和'西湖'之间的距离?如何获得距离。
{
"from": "0",
"size": "100",
"query": {
"bool": {
"must": [
{
"geo_distance": {
"location": {
"lat": "31.182024",
"lon": "121.492417"
},
"distance": "100km"
}
},
{
"match": {
"name": "West Lake"
}
}
]
}
}
}