我有两个商业地点的纬度和经度,想计算它们之间的距离。我如何使用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();
1条答案
按热度按时间x6yk4ghg1#
要返回距离你应该添加
geodist()
函数到fl
字段列表查询字段,如下所示:“distance”是要返回
geodist()
结果的字段名。