假设我的索引包含产品,每个产品都出现在多个商店。如何根据用户与属于该产品的所有商店之间的最小距离对产品进行排序。我有用户的经度和纬度,以及商店的经度和纬度。
我使用的是Solr4。我尝试创建一个多值位置(solr spatial search)字段,其中包含属于每个商店的各种商店的位置,但它给出的结果是错误的。
{编辑}
我尝试使用包含属于特定产品的所有商店的位置值的link中描述的geodist()类创建多值位置字段,但当您尝试使用geodist()函数对此字段进行排序时,它会给出错误的结果(您可以通过查看geodist()函数的值来检查它,您也可以在fl参数中请求)。我相信属于LatLong类的字段不能像here所描述的那样成为多值字段,但是谁能给我一些其他的实现方法。
发布于 2013-02-14 21:21:44
您的所有链接都指向旧实现的文档。在Solr4中,有new implementation。
此外,如果可以升级,Solr4.1还添加了一些extra GEO support ( Solr -4230)。在Lucene和Solr中,Geo是一个发展非常迅速的话题,仔细检查你是否使用了最新的特性是很有意义的。
https://stackoverflow.com/questions/14871550
复制相似问题