Инстр-нт сопоставления неск. баз данных отелей
Есть несколько баз данных отелей от различных провайдеров, каждая из которых содержит 80 000-100 000 отелей.
Необходимо на основе всех баз данных выявить и связать одинаковые и сделать единую базу, в которой отели будут идти 1 раз и будут связаны опред. признаком с отелями из других баз.
Пример.
Отель с названием Hotel Venezia Inn есть в БД у Провайдера 1, у провайдера 2 и у провайдера 3. С разными ID.
В нашей базе данных он будет идти только 1 раз, со свойствами (Провайдер 1=ID Провайдера 1, Провайдер 2=ID провайдера 2 и т.д.).
Сложности - одни и те же отели в разных базах в названии могут прилично различаться.
Возьмем, название отеля - Hotel Venezia Inn. Например, этот же отель может иметь в названии 75HW (это адресное уточнение, номер автодороги в США). Или в именах отелей в одной базе используется кодировка ascii, а во второй latin1 где вместо обычной e например используется французская e со штрихом и это не учитывается.
Вцелом сравнивать на соответствие отели можно по 3 факторам:
- название
- адрес
- геокоординаты.
Но с адресом тоже не все однозначно - в одном здании - по одному адресу может быть 2 и более отелей. Или на одной площади может быть два и более отелей.
Поэтому нужно продумать грамотную логику системы и осуществить ее реализацию. Ну и с учетом того, чтобы скрипт работал не годы, т.к. позиций очень много...