2007-05-08 旧作。原载:http://blog.youkuaiyun.com/st_monad/article/details/1601227
[需求]
1. 对凌乱的文档进行管理
2. 能够支持tagging
3. 能够方便的查找 a)根据tag b)根据内容
4. 随手方便的写一些文档
[调研]
1. CMS -- Content Management System
大多数都是web based
some script language + database, such as mysql
其更突出的理念是中心化
不是很符合我的个人易用原则
2. 传统的file system分目录组织
结构清晰
但是查找不便(这点倒是可以借助desktop searching tool来解决)
另外,不能进行多重组织
例如,对于音乐而言,拿”水手“来说吧,我想的一种放置方法是/data/music/by_author/郑智化/水手.mp3,另外的放法是/data/music/by_category/流行歌曲/水手.mp3
可是基于传统的文件系统,想达到上述目标就不是很方便。
使用symbol link? just kidding.
[构想]
基于tag的思路,进行改进,对tag增加一个分层次的概念,我称为cascade tag system。
首先,定义被标记的基本单元叫做”文档“。
一个文档可以有多个tag,而与以往的tag概念不同,这些tag不是处于同一个平面的,而是分层次的,也就是cts。
例如,上例中,水手.mp3是一个文档,我给出一下若干中tag的标识方法:
a) music/by_author/郑智化
b) music/by_category/流行歌曲
c) music/by_area/台湾
等等。
(St Monad原创,转载请保留出处 http://blog.youkuaiyun.com/st_monad/)
我们称music为by_author、by_category、by_area的父标签,而相应后三者称为music的子标签。
我们还定义上面的music是level 1 tag,by_*是level 2 tag,……
当然,music也可以在其他情况下是level 2 tag。
可以给出至少两个图:
a) tag cloud
b) tag relation map
tag cloud就是按照展平的方式去显示所有的tag的热门程度;
而tag relation map则给出了tag的层次关系和导航顺序,沿着level 1开始去寻找,和浏览传统的文件目录一样;
当然还可以直接键入一个tag进行全面的search(各level的都分别显示出来)。
等等吧。
全文检索嘛,再说了。