• 请不要在回答技术问题时复制粘贴 AI 生成的内容
clanboy
V2EX  ›  程序员

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

  •  
  •   clanboy · Jun 1, 2023 · 3083 views
    This topic created in 1102 days ago, the information mentioned may be changed or developed.
    抓了一些 CC0 的图片,不到 300W 条,整理了一下,tag 关系表竟然有小 3000W 。
    12 replies    2023-06-01 11:02:20 +08:00
    mythjava
        1
    mythjava  
       Jun 1, 2023
    什么是 cc0
    clanboy
        2
    clanboy  
    OP
       Jun 1, 2023
    @mythjava 就是作者放弃了版权的图片,使用起来不会有版权纠纷
    gpt5
        3
    gpt5  
       Jun 1, 2023
    @mythjava no copyright
    ophunter
        4
    ophunter  
       Jun 1, 2023
    哥们,tag 怎么生成的? tag 关系怎么建立的? 有相关资料分享下吗
    ljsh093
        5
    ljsh093  
       Jun 1, 2023
    大佬可以分享下吗
    clanboy
        6
    clanboy  
    OP
       Jun 1, 2023
    @ophunter 一个 img 对应多个 tag ,分别建 tag 表和 tag 和 img 的关联表,其实就是多对多的对应关系,主要是优化 tag 的 select 效率
    ophunter
        7
    ophunter  
       Jun 1, 2023
    @clanboy 哦哦,那按照这样设计的话,比如一个 img 10 个 tag ,那么有 3000 条了,按照你的这个设计如果是一对一,就符合结果了。 而且好像并没有减少关系表的可能.
    clanboy
        8
    clanboy  
    OP
       Jun 1, 2023
    @ophunter 本来 img 的 tag 是按逗号隔开的,这样查询的话就需要 like 去查,速度感人。
    luwill
        9
    luwill  
       Jun 1, 2023
    tag 是计算出来的么? clip ?
    Mithril
        10
    Mithril  
       Jun 1, 2023   ❤️ 1
    你这 tag 大部分都是生成的,你很可能也不会手动去改,那就没必要弄什么 tag 表和关系表,直接全存图片表里就行。
    最简单的办法,直接换 mongodb ,所有图片记录扔一个 collection 里,每条记录带个 tags 的数组,建个索引就行了。
    也不是啥都非要用关系型数据库搞,关系型做起来明显比较麻烦的问题,换个思路没准比你绕来绕去更简单。
    fishily1993
        11
    fishily1993  
       Jun 1, 2023
    配置个 ES 或者自己搞一个简单的倒排呢?
    Jrue0011
        12
    Jrue0011  
       Jun 1, 2023
    有时候项目限制了没法用 mongodb 这种数据库,只能硬着头皮用关系型数据库做。

    用关系型数据库做的话也只能这样了感觉,如果不设计关系表的话那就是一个字段用逗号或者别的隔开,遇上交并集之类的查询需求就麻烦了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1156 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 17:38 · PVG 01:38 · LAX 10:38 · JFK 13:38
    ♥ Do have faith in what you're doing.