征询离线数据库缩水大法及其它 周末结贴 ( 积分: 100 )

  • 主题发起人 主题发起人 newsmile
  • 开始时间 开始时间
N

newsmile

Unregistered / Unconfirmed
GUEST, unregistred user!
想对离线数据库进行缩水处理,现已缩水10%以上,还想继续缩水,请各位畅所欲言。近期准备发布离线包,各位有什么要求也可提出,更希望有更多的朋友参与整理离线数据库。富翁笔记是否可以发布?如可以发布什么形式最好?一并请各位讨论。另外到目前为止还没有找到发布的空间,哪位有空间可贡献?
 
想对离线数据库进行缩水处理,现已缩水10%以上,还想继续缩水,请各位畅所欲言。近期准备发布离线包,各位有什么要求也可提出,更希望有更多的朋友参与整理离线数据库。富翁笔记是否可以发布?如可以发布什么形式最好?一并请各位讨论。另外到目前为止还没有找到发布的空间,哪位有空间可贡献?
 
自认为我做的还是不错的。
首先清除所有“关注”“顶”之类的东西,用关键词搜索删除就可以了。比较慢,而且删不了多少东西。
使用压缩字段的方式:对于文本,容量越大,压缩的时候压缩比就越大。如果单个帖子压缩,效果并不是太明显。所以我采用了把同一篇帖子和它的回复放在一起来压缩的方式。将一篇帖子和回复所有必要的信息用XML的方式联合成一篇文章,然后用zip或者bzip算法压缩后放到数据库里。通过这个方法,把原来超过1G的access数据库(未压缩的字段)压到了400M。
这样带来的一个问题是没有办法搜索了。大家也知道,如果在access里使用like的方法搜索,对于这个数据库是绝对不可能的,即使只搜索标题,也慢的要死,不管你怎么优化算法。所以,还是要从根本上解决问题。我使用了nLucene全文检索库,在压缩数据库之前,把所有的文章和回复做成全文检索的索引。索引和数据库是完全独立的。索引文件也很大,占用了300多M。不过这样带来的好处就是,搜索的速度跟google一样了。而且对中文的支持也没有任何问题。
点击搜索或者点击一个帖子的标题的时候,(标题要保留一份没有压缩的),读取压缩过的字段,解压以后使用xslt的方式显示或者解析XML然后生成HTML来显示,速度上基本没有延迟感。而且这套系统还可以快递移植成asp.net的网页程序,提供全文检索的服务。
300多M的索引文件可以不提供下载,而是提供一个小工具,自己下载了数据库以后用这个工具自己生成索引文件就可以了。生成一次索引文件大约要花费6个小时左右(XP1700+,512M内存)。数据库和索引再用RAR压缩一下,可以达到500M的总大小。
当然,这就对离线浏览器有要求了。我是用vb.net写的。不知道delphi.net是否支持nLucene。
 
谢谢cozo老前辈!欢迎大家讨论。
 
发布得好
 
新手80%以上的问题都可以通过查找离线包解决,为什么就没有人关心呢?
 
我也在用离线数据库,楼主的想法很好,支持一下[:D]
 
因为是新手不知道该说什么,不过我很支持你,我这句话就不需要加进去了,嘿嘿
 
我认为是soul 的离线数据库 的chm版本最好用,速度非常快,我一直都在用。
所有chm中的主要文件均是xml,可以通过形如 mk:@MSITStore:c:/delphibbs26.chm::/letters/125/1253348.htm 的方式调用。
其中每个chm负责50000个帖子的范围,从0~49999为delphibbs1.chm,依此类推。
 
不太懂!我只知道把它变成网页再用 hhc编译成 chm!
速度慢的惊人!我也从来没做过大富翁的!
我不明白怎样把几个chm文件关联起来查询!
 
我刚好做了一个CHM格式的,需要的更多是耐心。期待新版本的离线数据库出来
 
不知道有多大,我有空间的。速度比较快
 
感谢张辉明大侠,压缩后未缩水的离线包不到400M,4月1日到现在的帖子压缩后只有35M,不知怎样和您联系。我想元旦后上班就放出来,这次放的离线包是最全的,原来网上流传的包少了不少帖子。
也感谢app2001大侠光顾,我现在用的就是您的chm(以前用小笨苯的)。您用的离线数据库少了21837张帖子,另有6247张无主帖。如果您能根据我的离线包重做一个chm就更好了。如果您没时间做,把方法告诉我也可以,我不知道怎样做分卷也不知道怎样做全文索引(我有时间也有机器)。
 
cozo大侠给了我很多建议,谢谢,同时也感谢其他各位参与,期望app2001和张辉明两位给我帮助。
 
多人接受答案了。
 
后退
顶部