MySQL / PHP: Encuentre artículos similares / relacionados por etiqueta / taxonomía
Tengo una mesa de ciudades que se parece a esto.
|id| Name |
|1 | Paris |
|2 | London |
|3 | New York|
Tengo una tabla de etiquetas que se ve así.
|id| tag |
|1 | Europe |
|2 | North America |
|3 | River |
y una tabla 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 |
¿Cómo calculo cuáles son las ciudades más estrechamente relacionadas? Por ejemplo. Si estuviera mirando la ciudad 1 (París), los resultados deberían ser: Londres (2), Nueva York (3)
He encontrado elÍndice de Jaccard pero no estoy seguro de cuál es la mejor manera de implementar esto.