MySQL / PHP: Encontrar itens semelhantes / relacionados por tag / taxonomia
Eu tenho uma tabela de cidades que se parece com isso.
|id| Name |
|1 | Paris |
|2 | London |
|3 | New York|
Eu tenho uma tabela de tags que se parece com isso.
|id| tag |
|1 | Europe |
|2 | North America |
|3 | River |
e uma tabela cities_tags:
|id| city_id | tag_id |
|1 | 1 | 1 |
|2 | 1 | 3 |
|3 | 2 | 1 |
|4 | 2 | 3 |
|5 | 3 | 2 |
|6 | 3 | 3 |
Como faço para calcular quais são as cidades mais próximas? Por exemplo. Se eu estivesse olhando para a cidade 1 (Paris), os resultados deveriam ser: Londres (2), Nova York (3)
Eu encontrei oÍndice de Jaccard mas não tenho certeza de como implementar isso.