图片打标签

2019-10-03 09:54:33 +08:00
 hmshsnyt

一个 id 对应于一个图片 url 链接,现在是图片 url 会重复,现在只要新的 id 对应 url 有重复则继承之前给 url 打过的标签,想过用 mysql 的索引或者唯一键,但是图片 url 比较长,并且是 varchar 的,想问下有没有好的办法

2399 次点击
所在节点    程序员
7 条回复
dswyzx
2019-10-03 10:23:51 +08:00
我以前写的爬虫.url 直接 md5 后存,但只做是否重复判断用.
hmshsnyt
2019-10-03 10:36:49 +08:00
@dswyzx 这个我也想到了,用 boomfilter,但是只能知道是否重复,没有与以前 id 的映射关系,也就不知道这个图片的以前标签属性
mumbler
2019-10-03 11:00:06 +08:00
把 url 的 md5 建个字段存下来,主键唯一
ebony0319
2019-10-03 11:06:51 +08:00
url 过长问题:?id=abc123&code=5478
多设计一列 code,code 完全随机,可以重复。
hakono
2019-10-03 12:00:44 +08:00
你这逻辑实际上是 url 的 md5 值和 id 一对多关联
具体怎么设计表你随便找找一对多的表设计思路就知道了
mysql 下一个方法就是
单独一个表,url 的 md5 做主键唯一,然后另外一个 text 的字段存放字符串形式数组,字符串可以逗号分割也可以转成 json
但这样一个坏处就是没法从 id 反查到 url 的 md5 (如果你没这需求就不用在意这个坏处了)

当然上面是歪门邪道。。。
最简单方法就是给 id 那个表添加个 url md5 的字段然后加索引,delect id,urlmd5 from ids where urlmd5 =xxxxxxxxxxxxxxx

就能搜出你要的信息了
hakono
2019-10-03 12:01:41 +08:00
@hakono 打错 是 select 不是 delete
xupefei
2019-10-03 17:40:49 +08:00
@hmshsnyt boom filter,一用电脑就炸了😂

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

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

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

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

© 2021 V2EX