Наш сайт построен на Symfony + Propel, модуль поиска должен быть автономным модулем, который принимает параметры для поиска. Мы дадим вам тестовый дамп Mysql базы. Сам модуль может быть реализован на Elastic Search или Sphinx.
Не надо делать какие-либо формы или шаблоны. По итогу хотим иметь готовый модуль, который будем вызывать с входящие данными и получать результат.
Параметры поиска:
-search Основном поиск по полному тексту может быть только название города или, например, "Ницца, Франция" ищется в полях properties_translations c выбранным языком lang
-property type type внешний ключ (foreign key) к properties_types (rent, sale, longtermrent …)
-estate type estatetype_id внешний ключ(foreign key) к properties_estatetypes (apartment, house, garage…)
-Город / регион / страна (идентификаторы) CITY_ID, Region_ID, country_id внешние ключи городов, регионов. (Должна быть предусмотрена возможность поиска по нескольким region_ids, country_ids, чтобы показать все результаты во всех регионах)
-комнаты, спальни, макс гостей rooms, bedrooms, guests простое число
-Диапазон цен price, price_standard (стандартная цена, в случае скидки)
-Агентство import_agency_id простой идентификатор
Arrival/departure date (only for rental) Дата заезда/дата выезда (только для аренды) связано с properties_availabilities одна строка на день и объект недвижимости. Статусы будут следующие "1: available, 2: non-available, 3: available-checkin (checkin available on that day)".
Similar to some property_id схожее с property_id например, указывают тип недвижимости и результатом выводится информация по похожей недвижимости в том же городе или, например, в радиусе 30 км (используя gps).
Расширенный поиск:
- возможность выбора результатов по gps-координатам (например, до 30 км от Канн)
Широта, долгота могут быть использованы для выбора схожей недвижимости
- площадь от до: size, size_total (общая площадь с земельным участком)
Поиск по характеристикам:
- Привязан к таблице "properties_features", возможность для выбора доп. характеристик для поиска сейчас все характеристики сохраняются в таблице свойств как сериализованный массив, мы создадим таблицу связанную с этими свойствами, чтобы можно было искать по ним (например, терраса, балкон, парковка, Wi-Fi, ...). возможные значения 1 или 0 (сейчас там другие значения).
Поиск по расстоянию:
- На данный момент сохраняются как сериализованный массив, мы так же создадим таблицу. Оставьте это к концу выполнения проекта.
- properties_distances (т.е. море, лыжи, теннис, гольф ....) значения в метрах
Так же необходимо будет реализовать пагинацию и сортировку по параметрам (скидка, качество, расстояние от города ...) для результатов поиска.
Разделы:
Опубликован:
09.04.2016 | 21:11