Java 用于计算两点之间地理距离的Solr查询
我有两个营业地点的经纬度,想计算它们之间的距离。我如何使用solr查询来实现它 我得到了从一个点(纬度、经度)获取所有最近位置的查询 但是需要一个查询来获取两点之间的距离 下面是从一个点获取位置的示例代码段 //样本位置Java 用于计算两点之间地理距离的Solr查询,java,apache,solr,solrj,Java,Apache,Solr,Solrj,我有两个营业地点的经纬度,想计算它们之间的距离。我如何使用solr查询来实现它 我得到了从一个点(纬度、经度)获取所有最近位置的查询 但是需要一个查询来获取两点之间的距离 下面是从一个点获取位置的示例代码段 //样本位置 location = new double[]{lat, long}; SolrQuery query = new SolrQuery("{!func}geodist()"); query.set("fq","query"); query.set("sfield",
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();
你看了吗?我从那里尝试了这个查询&sort=min(geodist(store,37.7,-122.4),geodist(store,39.7,-105))%20asc它给出的最大距离是1.0,这不是我猜想的实际距离。