sanitizeTags

Agregar a favoritos

7 Comentarios

Posteado hace 683 días en:

Hace unos días me dio la curiosidad de ver como se hacían los querys para seleccionar tags al estilo del.icio.us y encontré unos artículos muy interesantes.

  1. Tags, Database schemas
  2. Tags with Mysql fulltext
  3. How I Implemented Tags

Me gusta la solución del fulltext ya que todos los tags están en la misma tabla. Lo malo es que si tu sitio es grande a la larga puede dar problemas.

Para la segunda solución he creado una función que prepara el query necesario para realizar la consulta a la base de datos. Usando en nuestras búsquedas queries de tipo: Union, Minus, Brackets e Intersection.

Ver función


  • avatar

    Fernando#1 hace 682 días

    Nosotros acabamos de introducir tags en La Coctelera y no hemos optado por ninguna de estas soluciones, pues nos pareció algo pobre, en especial si quieres realizar consultas en las que cuentes cuántas ocurrencias tiene cada tag.

    Nuestra solución pasa por utilizar datos no normalizados en una tabla temporal creada a partir de datos normalizados (al estilo la gente de Flickr).

  • avatar

    IceBeat#2 hace 682 días

    La verdad que para sitios grandes seguro que no es la mejor alternativa, aunque en el primer articulo indican como hacerlo con datos normalizados.

    No conozco el estilo Flickr, si tienes algun enlace me vendria de perlas :).

  • avatar

    aNieto2k#3 hace 682 días

    Dani, lo mejor que he visto yo sobre el tema es esta clase para PHP.
    FreeTag

    Además es libre como su nombre indica.
    Documentación
    Muy buen artículo.

  • avatar

    aNieto2k#4 hace 682 días

    Clase—> http://getluky.net/projects/freetag/

    Doc—> http://getluky.net/projects/freetag/doc/
    Que manía con bloquear el HTML….

  • avatar

    Jordi Rivero#5 hace 682 días

    Fernando a mi tambien me gustaría leer algo más de información sobre como lo habeís hecho en La Coctelera.

    Personalmente creo que ninguno de los sistemas que presentan en el primer enlace son del todo eficientes. Mi sistema es una mezcla entre los tres que se explican ahí, junto a unos sistemas de cache. No me convence mucho, pero bueno, por ahora me sirve :)

    La freeTag no me gustá demasiado tampoco…

  • avatar

    Jordi Rivero#6 hace 682 días

    Vaya! pues he estado buscando información de eso de “no normalizada” y no es lo que yo pensaba, de hecho me he llevado la sorpresa de que eso que estoy haciendo yo “extra” es la denormalización.

    El segundo parrafo de Fernando deja claro lo que hacen. Tienen una segunda tabla temporal en la que apoyarse que evita tener que hacer cruces de tablas en las consultas. Es cierto que Flickr o Delicious lo hacen así.

    El problema está en mantener esas tablas temporales… que por eso decia yo que “no me convencia” mucho lo que estaba haciendo. La sorpresa entonces es doble, porque veo que no es un problema solo mio. Mal de muchos… :P

  • avatar

    icebeat#7 hace 681 días

    aNieto tendre que echarle un vistazo a la clase.
    Jordi, no estaria mal que se plantease la estructura de las tablas, porque yo he intentado buscar información sobre el tema pero no la he encontrado.