PHP / MySQL ile benzerlik / skor bulmak için etiketleri grup karşılaştır

0 Cevap php

How can I compare a group of tags to another post's tags in my database to get related posts?

Ne yapmaya çalışıyorum compare a group of tags on a post to another post's tags, ama değil her etiket ayrı. Yani bir yazısı etiketleri dayalı gerçekten ilgili ürün almak ve daha sonra az İlişkili en ilgili onları göstermek istedim söylüyorlar. Her zaman gösterilen üç ilişkili ürün olursa olsun, ilişki düzeyi olması gerekir.

Post A has the tags: "architecture", "wood", "modern", "switzerland"
Post B has the tags: "architecture", "wood", "modern"
Post C has the tags: "architecture", "modern", "stone"
Post D has the tags: "architecture", "house", "residence"

Post B is related to post A by 75% (3 related tags)
Post C is related to post A by 50% (2 related tags)
Post D is related to post A by 25% (1 related tag)

Bunu nasıl yapabilirim? Ben şu anda 3-tables kullanıyorum.

posts
> id
> image
> date

post_tags
> post_id
> tag_id

tags
> id
> name

Ben Internet arama ve yığın taşması bunu öğrenmek için. Benim en yakın find How to find "related items" in PHP, ama aslında benim için çok çözmedi.

0 Cevap