0

假设我的索引包含产品,每个产品都出现在多个商店。如何根据用户与属于该产品的所有商店之间的最小距离对产品进行排序。我身边有用户的经纬度,还有店铺的经纬度。

我正在使用 solr 4。我尝试制作一个多值位置(solr 空间搜索)字段,其中包含属于每个商店的各种商店的位置,但它给出的结果是错误的。

{编辑}

我尝试使用 solr.LatLonType 类创建一个多值位置字段,如包含属于特定产品的所有商店位置值的链接中所述,但是当您尝试使用 geodist() 函数对该字段进行排序时,它给出错误的结果(您可以通过查看 geodist() 函数的值来检查它,您可以再次在 fl 参数中请求该函数。我相信属于 LatLong 类的字段不能像这里描述的那样被设为多值,但是任何人都可以给出我用其他方法来实现这一点。

4

1 回答 1

1

您所有的链接都指向旧实现的文档。Solr 4 有了新的实现

此外,如果您可以升级,Solr 4.1 添加了一些额外的 GEO 支持(SOLR-4230)。Geo 是 Lucene 和 Solr 中发展非常迅速的话题,做一些复查以确保您使用的是最新功能是有意义的。

于 2013-02-14T13:21:43.583 回答