Mysql 使用标记查找最佳结果

Mysql 使用标记查找最佳结果,mysql,sql,search,tags,Mysql,Sql,Search,Tags,我想创建一个网站,使用标签找到一个最佳匹配的结果(一篇文章)。用户可以喜欢/不喜欢事物,然后根据自己喜欢/不喜欢的事物为自己构建一个由他喜欢的标签(和他不喜欢的标签)组成的“个人资料” 例如: USER_1 likes: dog, mouse, blue, house USER_1 dislikes: cat, pink USER_2 likes: red, hat, blue USER_2 dislikes: pink ... POST_1 tags: dog, red, hat POST_

我想创建一个网站,使用标签找到一个最佳匹配的结果(一篇文章)。用户可以喜欢/不喜欢事物,然后根据自己喜欢/不喜欢的事物为自己构建一个由他喜欢的标签(和他不喜欢的标签)组成的“个人资料”

例如:

USER_1 likes: dog, mouse, blue, house
USER_1 dislikes: cat, pink
USER_2 likes: red, hat, blue
USER_2 dislikes: pink
...
POST_1 tags: dog, red, hat
POST_2 tags: blue, pink, cat
...
现在对于帖子,我在数据库中有类似的标签。例如:

USER_1 likes: dog, mouse, blue, house
USER_1 dislikes: cat, pink
USER_2 likes: red, hat, blue
USER_2 dislikes: pink
...
POST_1 tags: dog, red, hat
POST_2 tags: blue, pink, cat
...
我的问题是:

我如何才能获得最佳匹配结果(仅基于喜欢,包括不喜欢)?是否已经建立了一个系统,或者通常如何解决这些问题

例如,用户_2首先收到POST_2,因为它与他喜欢的“blue”和“hat”匹配,然后是POST_1,因为他喜欢“blue”

谢谢!我渴望了解这是如何工作的,但我还没有找到任何东西(也不知道从哪里开始)