Схема базы данных для сопоставления гостиничных удобств из разных источников в едином формате для удаления дубликатов - PullRequest
0 голосов
/ 22 октября 2018

Я создаю гостиничное приложение, которое получает гостиничные фиды из разных источников и сохраняет их в базе данных, чтобы сформировать единую структуру и предоставить API для мобильного приложения.Я выбираю отели из 3 разных источников с помощью приложения python / django.

Теперь у каждого источника отелей есть различные наборы удобств, например:

Source 1 [Expedia]
    - Free WiFi
    - Hairdryer In Room
    - Cable TV
    - Double Bed
    - Single Bed
    - Fireplace

Source 2 [SomeHotelProvider]
    - WiFi
    - Hairdryer
    - Television
    - and so on

Так что здесь у нас одно и то же название удобства с разнымиимя (бесплатный Wi-Fi и WiFi), например.Единственная проблема заключается в том, что на экране Mobile будет отображаться два фильтра [Free WiFi, Wifi] для фильтрации набора результатов.Итак, что является лучшим подходом для работы с этими дублирующимися значениями.

Требуется решение для создания таблицы сопоставления, которая сопоставляет все дубликаты с одной основной таблицей удобств.

Заранее спасибо.

1 Ответ

0 голосов
/ 22 октября 2018

Я бы использовал столбец JSONB, чтобы вы могли принимать данные любого типа.в формате хэша.Затем вам нужно будет найти дубликаты ключей и объединить их.

https://www.postgresql.org/docs/9.4/static/datatype-json.html

Затем вам нужно будет пройти и объединить дубликаты ключей (Wi-Fi, бесплатный Wi-Fi и т. Д.).К сожалению, это не может быть сделано программно, так как даже если вы написали идеальную программу для этого, в будущем может появиться новая форма, которую вы не учитываете, например «включенный Wi-Fi».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...