2011-10-17 60 views
1

我在评估Magento是否需要根据地理距离进行产品搜索和建议的旅游公司。该公司正在创建基于各种组件的定制假日套餐(例如:住宿,旅游,餐厅代金券等)。这些组件可能具有重叠的位置(即:特定的旅程可能已经足够接近几家酒店以被视为与其中的每一个相关)。Magento地理搜索和产品推荐

当用户通过在各个酒店添加住宿来建立自定义套餐时,我希望相关产品建议根据地理位置显示。而且,如果他们搜索旅游线路,我希望更接近的旅游线路被加权到目录搜索结果的顶部。 (如:10公里,50公里,200公里等)。

我的研究表明,对于Magento中的任何类型的空间查询都没有开箱即用的支持。我能想出的最佳解决方案是定制产品属性,其中列出了每个产品手动分配到各个位置的“位置”。但是我认为这将很难管理超过50个地点。我的研究是否正确?是否有附加组件可以满足这种情况?你认为重叠的50个位置可以在后端管理吗?

从微软的背景来看,我的天然倾向是启用SQL Server 2008+空间功能并在数据库中执行查询。显然,该选项在LAMP堆栈中不可用。我错了吗? MySQL是否支持WHERE productA.Location.GetDistanceFrom(productB.Location) < 50km等空间查询?

回答

3

MySQL支持空间查询以及http://dev.mysql.com/doc/refman/4.1/en/spatial-extensions.html但没有将帮助你或没有你进入产品之间的关系,它的位置,你必须实现它自己以及扩展搜索基于位置

+0

感谢。很高兴知道MySQL支持空间的东西(一直生活在微软世界太久!)。这至少会带来一些机会。 – ligos