gpt4 book ai didi

java - Solr查询计算两点之间的地理距离

转载 作者:行者123 更新时间:2023-12-05 08:01:29 25 4
gpt4 key购买 nike

我有两个营业地点的经纬度,想计算它们之间的距离。我如何使用 solr 查询来做到这一点。

我得到了从一个点(纬度,经度)获取所有最近位置的查询。

但是想要一个查询来获取两点之间的距离。

下面是从一个点获取位置的示例代码片段

//样本位置

location = new double[]{lat, long}; 

SolrQuery query = new SolrQuery("{!func}geodist()");
query.set("fq","query");
query.set("sfield", "location");
query.set("pt", location );
query.setSortField("score", ORDER.asc);
query.setFields("score", "id");
SolrDocumentList list = solrServer.query(query).getResults();

最佳答案

要返回距离,您应该将 geodist() 函数添加到 fl 字段列表查询字段,如下所示:

query.set("fl","*,distance:geodist()")

“distance”是返回geodist()结果的字段名。

关于java - Solr查询计算两点之间的地理距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13770154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com