Tengo artículos en mi sitio, y me gustaría agregar etiquetas que describan cada artículo, pero estoy teniendo problemas con la tabla mysql de diseño para las etiquetas. Tengo dos ideas:¿Cómo diseñar una tabla MySql para una nube de etiquetas?
- cada artículo habría de campo "etiquetas", y las etiquetas sería en el formato: "etiqueta 1, etiqueta 2, etiqueta 3"
- crear otras etiquetas de tabla llamada con campos: tag_name, article_id
así que cuando quiero etiquetas de artículo con ID 1, yo correría
SELECT ... FROM tags WHERE `article_id`=1;
Pero, también me gustaría saber 3 artículos más similares mediante la comparación de las etiquetas, por lo que si tengo artículo que tiene las etiquetas " php, mi sql, erlang ", y 5 artículos con etiquetas:" php, mysql "," erlang, ruby "," php erlang "," mysql, erlang, javascript ", elegiría 1., 3. y 4., ya que esos 3 tienen la mayoría de las mismas etiquetas con el artículo principal.
También otra pregunta, ¿cuál es la mejor manera de obtener 10 "etiquetas más usadas"?
Sí, pero no respondió mi pregunta principal, ¿cómo obtener 3 artículos más similares? – mfolnovich
@mfolnovich: He editado mi respuesta un par de veces para agregar más información sobre el diseño; y, luego, viendo su comentario, volví a editar, para agregar una posible idea de solución para obtener los 3 artículos más similares. –