Para obtener una simple lista de artículos relacionados basado en etiquetas, las soluciones básicas dice así:
3 mesas, uno con artículos, uno con etiquetas y otro con la conexión. La tabla de conexiones consta de dos columnas, una para cada identificación de las tablas restantes. Una entrada en la tabla de conexiones vincula una etiqueta con un elemento al poner sus respectivos identificadores en una fila.
Ahora, para obtener esa lista de artículos relacionados.
busque todos los artículos que comparten al menos una etiqueta con el artículo original. asegúrese de buscar las etiquetas junto con los artículos, y luego use un mecanismo de clasificación simple para determinar qué elemento comparte la mayoría de las etiquetas con la original. cada etiqueta aumenta la relación-relevancia en uno.
Dependiendo de sus hábitos de etiquetado, podría ser inteligente agregar algún contra mecanismo para evitar que las grandes etiquetas superpuestas mezclen la relevancia. para lograr esto, podría otorgar mayor importancia a las etiquetas que están por debajo de un determinado umbral de dispositivos. Un umbral que generalmente me ha funcionado bien es total_number_of_tag_appliances/total_number_of_tags, que da como resultado el número promedio de dispositivos. Si el recuento de dispositivos de etiquetas es menor que el promedio, la relación-relevancia aumenta doble.
También hay una pregunta relacionada http://stackoverflow.com/questions/18019976/mysql-php-find-similar-related-items-by-tag-taxonomy –