elasticsearch,search,Python 3.x,elasticsearch,Search" /> elasticsearch,search,Python 3.x,elasticsearch,Search" />

Python 3.x ElasticSearch中的地理距离排序?

Python 3.x ElasticSearch中的地理距离排序?,python-3.x,elasticsearch,search,Python 3.x,elasticsearch,Search,参考文献,如果lat和lon都在同一个地理类型字段中,我们可以根据地理位置进行排序 { "sort" : [ { "_geo_distance" : { "pin.location" : [-70, 40], "order" : "asc", "unit" : "km", "mode" : "min",

参考文献,如果lat和lon都在同一个地理类型字段中,我们可以根据地理位置进行排序

{
    "sort" : [
        {
            "_geo_distance" : {
                "pin.location" : [-70, 40],
                "order" : "asc",
                "unit" : "km",
                "mode" : "min",
                "distance_type" : "arc",
                "ignore_unmapped": true
            }
        }
    ],
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

在我的例子中,纬度和经度的位置都在单独的浮动字段中。如果无法更改模式,如何按地理距离排序?

您需要使用新映射创建一个新索引,该映射将包含字段而不是两个字段(lat、long)。然后,需要将数据索引到新创建的索引中。查看-将帮助您将数据移动到新索引中

是的,我想避免那样。但我想这是唯一的解决办法。谢谢