如何对包含属于多个位置的产品的文档进行排序?

时间:2013-02-14 09:28:45

标签: solr search-engine solrj

假设我的索引包含多个商店中存在的每个产品的产品。如何根据用户与属于该产品的所有商店之间的最小距离对产品进行分类。我有用户的经度和纬度,以及商店的经度和纬度。

我正在使用solr 4.我尝试创建一个多值位置(solr spatial search)字段,其中包含属于每个商店的各种商店的位置,但它给出的结果是错误的。

{编辑}

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

1 个答案:

答案 0 :(得分:1)

所有链接都指向旧版实施的文档。使用Solr 4,有new implementation

此外,如果您可以升级,Solr 4.1添加了一些extra GEO support(SOLR-4230)。 Geo在Lucene和Solr中非常迅速地推进了主题,对你使用最新功能进行一些仔细检查是有道理的。