百科问答小站 logo
百科问答小站 font logo



为什么我见过的操作系统都是树状存储结构,有没有用关键字来组织文档存储的网状结构的操作系统? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

这是个有趣的问题。

给一个相似的情况:绝大多数网站里,所有的网页结构也是组织成像你说的树形结构的。

后来,有两个天才发明了一个系统,让这种树形结构变成了一个像你说的“关键字组织的网状结构”——嗯,这就是大家都很熟悉的搜索引擎。

虽然作为业外人士,你可能并不清楚搜索引擎为了达到这个目的,到底投入了多少软硬件资源去实现这样的功能。我就说放眼全球,有竞争力的做全网搜索的,也就google/bing/baidu三家,另外还有若干聚焦在特定垂直细分领域的——其难度和资源投入水平可见一斑。

讲点技术话语就是:本质上树状结构和一维索引结构都是为了快速准确定位你的最终目标所在。然而,树状结构通过分层逐级细化,把一次或几次(如果你要做多标签关联的话)全网/全盘搜索变成了多次某个层级内的局部搜索,这个逐步聚焦的搜索过程背后,实际上节约了极为巨大的运算资源和io资源——就这我还极为友善的假定你的文件系统一开始就针对此设计而不会额外占用过多的存储资源来放索引了(然而如果要做复杂的关联查询,这些索引极有可能都免不掉)。

事实上,在当年搜索引擎如日中天的时候,google和baidu都推出过桌面搜索这样的软件——其思路就和这题目几乎完全一致。然而,在火了很短的时间后(大概……几个月?),两家搜索引擎巨头都不约而同的放弃了这个市场。

所以,google和baidu两家搜索领域巨头级企业都亲自认证过的结论,基本上属于盖棺论定了。


user avatar   mai-cui-ya-96 网友的相关建议: 
      

你可以自己弄啊……文件hash 、路径、关键词放到数据库里……




  

相关话题

  俄罗斯为什么不怕美国在操作系统、芯片等领域的「制裁」? 
  如何在 Surface 中安装 XP 系统? 
  mmap 内存映射,是越过了操作系统,直接通过内存访问文件吗? 
  为什么鸿蒙系统里已经找不到Android字样了,部分网友依然认为鸿蒙是安卓套壳? 
  进程被操作系统加载之后,磁盘上的二进制文件可以删掉吗?如果删掉对正在运行的进程有什么影响吗? 
  不考虑爱国情怀和价格,你为什么还会选安卓? 
  中国政府为什么要求 Android 至少免费开源五年? 
  为什么鸿蒙系统里已经找不到Android字样了,部分网友依然认为鸿蒙是安卓套壳? 
  linux如何赋予用户sudo权限? 
  操作系统是不是也是加载到内存中再执行的? 

前一个讨论
C/C++在函数调用时,为什么需要先将参数压栈?
下一个讨论
C++中怎么区分char和数值?





© 2024-05-19 - tinynew.org. All Rights Reserved.
© 2024-05-19 - tinynew.org. 保留所有权利