Magento географический поиск и рекомендации по продукту - PullRequest
1 голос
/ 17 октября 2011

Я оцениваю Magento для туристической компании, которая должна будет производить поиск продуктов и давать рекомендации на основе географического расстояния. Компания создает индивидуальные пакеты отдыха на основе различных компонентов (например, проживание, туры, путевки в рестораны и т. Д.). Эти компоненты могут иметь перекрывающиеся местоположения (то есть: конкретный тур может быть достаточно близко к нескольким отелям, чтобы считаться связанным с каждым из них).

Поскольку пользователь создает свой индивидуальный пакет, добавляя номера в различных отелях, я хотел бы, чтобы соответствующие рекомендации по продуктам появлялись в зависимости от географического положения. И, если они ищут туры, я бы хотел, чтобы более близкие туры были взвешены в верхней части результатов поиска по каталогу.

Приятно иметь: возможность для пользователя выбирать, насколько близко / далеко он считает «достаточно близко» (например: 10 км, 50 км, 200 км и т. Д.).

Мое исследование показало, что в Magento не существует встроенной поддержки каких-либо пространственных запросов. Лучшее решение, которое я мог придумать, - это настраиваемые атрибуты продукта, в которых указывается «местоположение», где каждый продукт вручную назначается в различные местоположения. Но я думаю, что будет довольно сложно управлять более чем на 50 местах. Правильно ли мое исследование? Есть ли дополнение / расширение, которое будет соответствовать этому сценарию? Считаете ли вы, что в бэкэнде можно будет совмещать 50 локаций?

Исходя из опыта Microsoft, я склонен включать пространственные функции SQL Server 2008+ и выполнять запросы в базе данных. Очевидно, что эта опция недоступна в стеке LAMP. Я ошибся? Поддерживает ли MySQL пространственные запросы, такие как WHERE productA.Location.GetDistanceFrom(productB.Location) < 50km?

1 Ответ

3 голосов
/ 17 октября 2011

Mysql также поддерживает пространственные запросы http://dev.mysql.com/doc/refman/4.1/en/spatial-extensions.html, но ничто не поможет вам и не освободит вас от установления связей между продуктами и их местоположением, и вам придется реализовать их самостоятельно, а также расширить поиск в зависимости от местоположения

...