文件名搜索这么难弄?

2017-01-30 18:25:15 +08:00
 zhidian

为什么微云 /百度云 /七牛的文件搜索一样烂?一个简单的 [文件名] 搜索,还不是全文检索,半天找不到?不科学啊。

我只是搜文件名,这个很难做么?我网盘里面也没有一大堆小文件,目测 tree 一下,不到 2k 的字符串, 居然搜得这么慢,还出不来结果?

七牛就更恶心,必须搜前缀,不然绝对搜不到。(然而谁特么记得那么清楚啊!)

以上说的都是纯字符搜索,不是 regex 搜索。

浏览器地址栏那搜索才叫真正的搜索啊!。。。

3289 次点击
所在节点    程序员
17 条回复
ichubei
2017-01-30 18:38:18 +08:00
不清楚,不过我觉得苹果的 app stote 搜索弱爆了。
bombless
2017-01-30 18:59:15 +08:00
感觉同一个用户的不同文件未必在一个节点上吧。也许是类似一个目录是一个对象,目录下是一些对象的索引。如果是这样的话那整颗树的元信息未必在一个地方统一维护,否则每改一个文件夹的内容还得更新元信息也挺蛋疼的,分布式事务一向蛋疼
zhidian
2017-01-30 19:04:18 +08:00
@bombless 哪有那么复杂……文件可以从不同的服务器取,文件名目录树应该是在一个地方的。用浏览器一个一个文件夹看都不卡,一搜索起来这么捉急我也是无语。
bombless
2017-01-30 19:07:52 +08:00
@zhidian 我都说了整个树不一定在一个节点上。观点我已经说明白了,剩下的我就不多说了
loading
2017-01-30 19:24:36 +08:00
服务器使用的不是目录结构的,应该是基于数据库的,表里面存的有 parentId,rootId 等等,所以你浏览目录起来速度很快。如果你要搜索,可能数据库就要跑 like 了,还是不给你们搞算了……
isCyan
2017-01-30 19:26:25 +08:00
七牛你当网盘用我也是醉了……
xfspace
2017-01-30 20:01:44 +08:00
搜索是要讲究算法的...你来写一个?
学得少想得多的例子。
zhidian
2017-01-30 20:12:43 +08:00
@isCyan 我没拿这当网盘,我只是搜一下自己的资源。
zhidian
2017-01-30 20:15:24 +08:00
@xfspace 嚯嚯,真厉害。‘讲究算法的’。所以你觉得搜索自己网盘里文件这个需求不好实现?我学的少啥都不懂你来教我。
NeinChn
2017-01-30 20:24:37 +08:00
这个算法真是没什么难的,不同规模有不同实现方式,几十亿记录的规模下都很简单
就只是不做而已...没有为什么.....
gamexg
2017-01-30 20:32:40 +08:00
七牛的目标客户基本不需要搜索功能,客户会自己存 key 自己做搜索。
所以七牛不存在这个功能正常。

但是百度就比较奇怪了。
Jackeriss
2017-01-30 23:14:53 +08:00
@isCyan 七牛当网盘分享文件时还真挺方便的。。。
zwh8800
2017-01-30 23:50:48 +08:00
@xfspace 做搜索现成的方案一大堆好吗?这种简单的 user_id + 文件名的搜索,就算几十亿规模,用 elasticsearch 也能做的很好。不做只是因为懒着做而不是不能做。
neoblackcap
2017-01-31 00:19:17 +08:00
七牛我是明白的,他们主要是面对企业用户,企业用户才不关心搜索文件这个功能,因此就是这么烂。这个纯属没有放资源在这上面。像百度云以及微云大概也是这样
fjzjk
2017-01-31 00:23:16 +08:00
七牛只是不需要这个功能
zhidian
2017-01-31 00:27:04 +08:00
@Jackeriss 小心被迅雷盯上……(流量爆表我把一个 bucket 临时设置成了私人……)
popbones
2017-01-31 04:48:37 +08:00
S3 连文件 count 都得不到,号称只会在账单上出现一个估计值。

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

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

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

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

© 2021 V2EX