mysql相关性查询似乎并没有选择所有具有相似选择的记录

ukdjmx9f  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(251)

通过这个相关性查询,我试图选择/查找一个标记 tags . tag “计算思维”是通过从 articles . id 然而,它似乎没有找到一个以上的标签。一旦我搜索'almere'它会给出所需的文章结果( article . id 16和15)

SELECT s.seoUrl, a.*,
        (
            (
            if (t.tag LIKE '%computational%',7,0)
            )+
            (
            if (a.title LIKE '%computational%',5,0)
            )+
            (
            if (a.shortDescription LIKE '%computational%',4,0) 
            )+
            (
            if (a.content LIKE '%computational%',3,0)
            )+
            (
            if (m.name LIKE '%computational%',2,0)
            )+
            (
            if (s.seoUrl LIKE '%computational%',1,0)
            )
        ) as relevance
        FROM articles a
        LEFT JOIN article_tag at ON at.articleId = a.contentId
        LEFT JOIN seoUrls s ON s.contentId = a.contentId
        LEFT JOIN tags t ON at.tagId = t.contentId
        LEFT JOIN article_category ac ON ac.articleId = a.contentId
        LEFT JOIN menu m ON m.contentId = ac.categoryParentId
        WHERE a.published = 'on'
        GROUP BY a.contentId
        HAVING relevance > 0
        ORDER BY relevance DESC, a.views DESC

我想我在选择标签时犯了一个很大的错误,但是我似乎找不到解决方法,有什么想法吗?
小提琴:http://sqlfiddle.com/#!9/7a9d0f9/1号

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题