像 pixiv 那种根据标签搜索图片的功能,后端是怎么做得?
資深大佬 : Nillouise 8
一张图有多个标签,一个标签可以搜索出多张图,同时搜索还能返回总的数量(这样才可以进行分页吧?),标签之间可以组合搜索,mysql 应该做不了这种需求,那就是用 elastic 做的?但 elastic 支持这种分页功能?而且我印象中 elastic 搜索不快(用 kibana 搜后端 log 几秒延迟),能做成这么高性能?
有点好奇这种常用功能是怎么实现的。
大佬有話說 (11)
一张图有多个标签,一个标签可以搜索出多张图,同时搜索还能返回总的数量(这样才可以进行分页吧?),标签之间可以组合搜索,mysql 应该做不了这种需求,那就是用 elastic 做的?但 elastic 支持这种分页功能?而且我印象中 elastic 搜索不快(用 kibana 搜后端 log 几秒延迟),能做成这么高性能?
有点好奇这种常用功能是怎么实现的。
图片跟文章一样在 posts 表,标签在 terms 表,图片和标签的关系在 relationships 表。
relationships 表有 post_id 和 term_id,连表查询就行了,单标签多标签都一样查,我做过,只是当时数据少,不知道数据多了性能怎么样。