我正在评估Magento是否需要根据地理距离进行产品搜索和推荐的旅游公司。该公司正在基于各种组件(例如:住宿,旅游,餐馆优惠券等)创建自定义度假套餐。这些组件可能具有重叠的位置(即:特定的旅行可能足够接近几个酒店以被认为与它们中的每一个相关)。
当用户通过在各个酒店添加住宿来建立他们的自定义套餐时,我希望根据地理位置显示相关的产品推荐。并且,如果他们搜索旅行,我希望更近的旅行加权到目录搜索结果的顶部。
很高兴:用户能够选择他们认为“足够接近”的距离/距离(例如:10km,50km,200km等)。
我的研究表明Magento中没有开箱即用的任何空间查询支持。我能想出的最佳解决方案是自定义产品属性,其中列出了“位置”,其中每个产品都手动分配到不同的位置。但我认为,对于超过50个地点来说,管理起来会非常困难。我的研究是否正确?是否有可以实现此方案的附加/扩展?您是否认为在后端可以管理重叠的50个位置?
来自Microsoft背景,我的自然倾向是启用SQL Server 2008+空间功能并在数据库中执行查询。显然,此选项在LAMP堆栈中不可用。我错了吗? MySQL是否支持WHERE productA.Location.GetDistanceFrom(productB.Location) < 50km
等空间查询?
答案 0 :(得分:3)
Mysql也支持空间查询http://dev.mysql.com/doc/refman/4.1/en/spatial-extensions.html,但没有任何东西可以帮助您或让您无法输入产品及其位置之间的关系,您必须自己实现它,并根据位置扩展搜索