抓了一些 cc0 的图片,整理了一下, tag 关系表竟然有小 3000W。

334 天前
 clanboy
抓了一些 CC0 的图片,不到 300W 条,整理了一下,tag 关系表竟然有小 3000W 。
2258 次点击
所在节点    程序员
12 条回复
mythjava
334 天前
什么是 cc0
clanboy
334 天前
@mythjava 就是作者放弃了版权的图片,使用起来不会有版权纠纷
gpt5
334 天前
@mythjava no copyright
ophunter
334 天前
哥们,tag 怎么生成的? tag 关系怎么建立的? 有相关资料分享下吗
ljsh093
334 天前
大佬可以分享下吗
clanboy
334 天前
@ophunter 一个 img 对应多个 tag ,分别建 tag 表和 tag 和 img 的关联表,其实就是多对多的对应关系,主要是优化 tag 的 select 效率
ophunter
334 天前
@clanboy 哦哦,那按照这样设计的话,比如一个 img 10 个 tag ,那么有 3000 条了,按照你的这个设计如果是一对一,就符合结果了。 而且好像并没有减少关系表的可能.
clanboy
334 天前
@ophunter 本来 img 的 tag 是按逗号隔开的,这样查询的话就需要 like 去查,速度感人。
luwill
334 天前
tag 是计算出来的么? clip ?
Mithril
334 天前
你这 tag 大部分都是生成的,你很可能也不会手动去改,那就没必要弄什么 tag 表和关系表,直接全存图片表里就行。
最简单的办法,直接换 mongodb ,所有图片记录扔一个 collection 里,每条记录带个 tags 的数组,建个索引就行了。
也不是啥都非要用关系型数据库搞,关系型做起来明显比较麻烦的问题,换个思路没准比你绕来绕去更简单。
fishily1993
334 天前
配置个 ES 或者自己搞一个简单的倒排呢?
Jrue0011
334 天前
有时候项目限制了没法用 mongodb 这种数据库,只能硬着头皮用关系型数据库做。

用关系型数据库做的话也只能这样了感觉,如果不设计关系表的话那就是一个字段用逗号或者别的隔开,遇上交并集之类的查询需求就麻烦了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/944742

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX