Поиск для сайта недвижимости

Бюджет: по договоренности
Заказчик выбрал исполнителя:
Ruslan M  
Наш сайт построен на  Symfony + Propel, модуль поиска должен быть автономным модулем, который принимает параметры для поиска.  Мы дадим вам тестовый дамп Mysql базы. Сам модуль может быть реализован на обычном PHP + Mysql, если это будет нормально работать с нашим текущим проектом.

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

Параметры поиска:
-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 – (т.е. море, лыжи, теннис, гольф ....) значения в метрах

Так же необходимо будет реализовать пагинацию и сортировку по параметрам (скидка, качество, расстояние от города ...) для результатов поиска.
Опубликован 28.03.2016 в 22:24

Выберите способ верификации:

Обновите страницу после прохождения верификации.