【发布时间】:2011-10-17 04:26:55
【问题描述】:
我正在为一家需要根据地理距离进行产品搜索和推荐的旅游公司评估 Magento。该公司正在创建基于各种组件(例如:住宿、旅游、餐厅代金券等)的定制假期套餐。这些组件可能具有重叠的位置(即:一个特定的旅行可能足够接近几家酒店以被认为与它们中的每一个相关)。
当用户通过添加在不同酒店的住宿来构建他们的自定义套餐时,我希望根据地理位置显示相关的产品推荐。而且,如果他们搜索旅行,我希望将更近的旅行放在目录搜索结果的顶部。
很高兴拥有:用户能够选择他们认为“足够近”的距离(例如:10 公里、50 公里、200 公里等)。
我的研究表明,Magento 中没有对任何类型的空间查询的开箱即用支持。我能想出的最佳解决方案是自定义产品属性,其中列出了每个产品手动分配到不同位置的“位置”。但我认为这将很难管理超过 50 个地点。我的研究正确吗?是否有可以满足这种情况的附加组件/扩展?您认为后端可以管理重叠的 50 个位置吗?
来自 Microsoft 背景,我的自然倾向是启用 SQL Server 2008+ 空间功能并在数据库中执行查询。显然,此选项在 LAMP 堆栈中不可用。我错了吗? MySQL 是否支持WHERE productA.Location.GetDistanceFrom(productB.Location) < 50km 之类的空间查询?
【问题讨论】:
标签: search magento geospatial spatial product