3

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

 1 year ago
source link: https://www.v2ex.com/t/944742
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

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

  clanboy · 7 小时 14 分钟前 · 1581 次点击
抓了一些 CC0 的图片,不到 300W 条,整理了一下,tag 关系表竟然有小 3000W 。
12 条回复    2023-06-01 11:02:20 +08:00
mythjava

mythjava      6 小时 55 分钟前

什么是 cc0
clanboy

clanboy      6 小时 44 分钟前

@mythjava 就是作者放弃了版权的图片,使用起来不会有版权纠纷
gpt5

gpt5      6 小时 43 分钟前

@mythjava no copyright
ophunter

ophunter      6 小时 22 分钟前

哥们,tag 怎么生成的? tag 关系怎么建立的? 有相关资料分享下吗
ljsh093

ljsh093      6 小时 11 分钟前

大佬可以分享下吗
clanboy

clanboy      6 小时 1 分钟前

@ophunter 一个 img 对应多个 tag ,分别建 tag 表和 tag 和 img 的关联表,其实就是多对多的对应关系,主要是优化 tag 的 select 效率
ophunter

ophunter      5 小时 43 分钟前

@clanboy 哦哦,那按照这样设计的话,比如一个 img 10 个 tag ,那么有 3000 条了,按照你的这个设计如果是一对一,就符合结果了。 而且好像并没有减少关系表的可能.
clanboy

clanboy      5 小时 35 分钟前

@ophunter 本来 img 的 tag 是按逗号隔开的,这样查询的话就需要 like 去查,速度感人。
luwill

luwill      5 小时 0 分钟前

tag 是计算出来的么? clip ?
Mithril

Mithril      4 小时 49 分钟前   ❤️ 1

你这 tag 大部分都是生成的,你很可能也不会手动去改,那就没必要弄什么 tag 表和关系表,直接全存图片表里就行。
最简单的办法,直接换 mongodb ,所有图片记录扔一个 collection 里,每条记录带个 tags 的数组,建个索引就行了。
也不是啥都非要用关系型数据库搞,关系型做起来明显比较麻烦的问题,换个思路没准比你绕来绕去更简单。
fishily1993

fishily1993      4 小时 49 分钟前

配置个 ES 或者自己搞一个简单的倒排呢?
Jrue0011

Jrue0011      4 小时 24 分钟前

有时候项目限制了没法用 mongodb 这种数据库,只能硬着头皮用关系型数据库做。

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK