MySQL / PHP: Поиск похожих / связанных элементов по тегу / таксономии
У меня есть таблица городов, которая выглядит следующим образом.
|id| Name |
|1 | Paris |
|2 | London |
|3 | New York|
У меня есть таблица тегов, которая выглядит следующим образом.
|id| tag |
|1 | Europe |
|2 | North America |
|3 | River |
и таблица towns_tags:
|id| city_id | tag_id |
|1 | 1 | 1 |
|2 | 1 | 3 |
|3 | 2 | 1 |
|4 | 2 | 3 |
|5 | 3 | 2 |
|6 | 3 | 3 |
Как рассчитать, какой из городов является наиболее близким? Например. Если бы я смотрел на город 1 (Париж), результаты должны быть: Лондон (2), Нью-Йорк (3)
Я нашелЖаккардовый указатель но я не уверен, как лучше всего это реализовать.