Nepomuk 在 KDE 4.10 中的新变化

marguerite | 2013/02/12

在 KDE 4.10 中,原来的「卡机三驾马车」:akonadi、nepomuk、strigi 几乎三去其二,发生了「敢叫日月换新天」般的变化。下面为大家吐槽介绍这些变化:

文件索引

第一步是快速地索引一些文件基本信息,如文件名、mimetype 等; 第二步是索引文件的全部元数据。其中最啃资源的第二步只会在空闲时进行。

这样做的好处显而易见:第一,第一步的目标就是尽量快,也就是说 Dolphin 的搜索功能至少在很短时间能够搜索一些比较基本的信息,比如你要在所有文件中找到一个文本文件啊这样。第二,它终于不卡了啊!!!

这个索引器是基于文件而不是基于 stream 的,比起大而全的 strigi 来说只能说是个基本的小家伙,目前也只提供了五种索引:图片、视频、音乐、PDF、文本,但我想应该够用了吧,还记得 strigi 索引 source code(如果你在本地打包/编译的话)时硬盘不堪重负的吱吱声么。

它的好处有几点:第一,跟 strigi 有关的 bug 都自主消灭了; 第二,终于把那帮开发者从一步到位的幻想中拉回到现实能够踏踏实实地写 nepomuk 了(原来以前这帮家伙们都在改 strigi 啊)。

  • 再次是提供了 Mimetype 过滤功能。

由于索引器从以 stream 为中心浪子回头回到了以文件为中心的正确的道路上来,Mimetype 的重要性得到了加强(毕竟需要先判断是什么文件是不是),于是就有了这么一个过滤功能,让用户可以自行选择索引/不索引某种类型的文件,比如我就不索引 .m4a 和 .wmv 文件,因为 Linux 上几乎播放不能。另外它默认不索引源代码,开发者终于听到用户的怨念了啊!

KioSlave 的变化

  • 大量伟光正的优化:

现在 nepomuksearch 可以处理文件和非文件了(以前只能处理文件)。至于什么是「非文件」呢,作者举了两个例子:联系人和专辑。以前是你在 nepomuksearch 找一个联系人名和一个专辑名那是光秃秃什么都没,现在可以有比如这个联系人发给的邮件、他的头像或者这张专辑下面的歌曲了(我很好奇,这不是它从 4.2 就开始宣传的功能么,怎么的之前是一直都没有啊?)

还有一个优化就是现在所有的 kioslave 都不再显示「没有 URL 的内容」了。这点我没有理解出变化是什么,但是好处可以想象无非就是牺牲索引基数换取性能提高、不学黄鼠狼偷鸡吃不了全咬死了改学熊瞎子掰苞米掰一穗扔一穗了。

  • 引入了一个新的 tagging kioslave 让您能够管理在 nepomuk 中打的 tag,还能浏览同一 tag 的内容。(合着原来的 tag 就跟 QQ 好友印象一样写完就算了啊?)

Dolphin 里面用 Nepomuk2::FileMetadataWidget 替代了原来 kdelibs 中使用 Nepomuk 1 的 KFileMetadataWidget

原来的 KFileMetadata Widget 是当你查看一个文件元数据的时候,进行一次 nepomuk 搜索,而不是使用缓存,因为 strigi 的「可依赖性不是很高 —— 作者语录」(尼玛,明知不行还要上多费多少电啊)。现在干掉 strigi 之后不用多进程设计了,开始使用缓存了,所以就不卡了,当然显示的东西也更少了(因为自己写的索引器就是个玩具,当然作者说的是「显示真正重要的属性」)。

改进的可移除介质处理

作者寡廉鲜耻地坦承原来的可移除介质处理是个神设计渣实现,只是看起来很美而已。索引可移除介质会影响所有其它索引,让其速度慢 20% 以上,还是简单的没索引源!代!码!的情况。

这个版本里干掉了「自动无效文件元数据清理器」,听名字你也知道以前是怎么干的:不管三七二十一先加到索引里面去,然后发现不行的再删掉(=。=); 现在采用了高端访问技术,先访问,不能访问就不索引了(总之作者也知道索引几乎等于“锁死”,之前就是玩你们那)。

备份

作者又寡廉鲜耻地坦承自己在 4.6 引入的备份也是一个「人有多大胆,地有多大产、管好牛就完了反正没有犁坏的地、麻瓜 (翻译为 End User) 去死」的实现。他当初的设计是以一个非破坏性的方式实现数据的同步、备份和回滚,但是…

这个版本里干掉了那些完全没有用的渣代码,化繁为简使用了非常傻瓜的备份方案,也不再运行新服务占用麻瓜们的内存了,但是也不备份文件和电子邮件信息了(您还备份啥…),想要备份那两种,把数据库复制一份儿吧!!!

数据库清理器

作者再次寡廉鲜耻地坦承自己写的数据库清理器是一些七拼八凑管好自己就完了的脚本集合,现在实在编不下去了,于是推倒重来出了个简陋版。

总结

作者说自己嗜血术效果消失后不再丧心病狂时改的代码让 Nepomuk 在你们这些麻瓜的电脑上的性能可提高 200%(得!又中了地精大魔导的「不说真话」魔法!),以前在你电脑上的 CPU 使用率是 200% 现在成功降低到 100% 了…

所以有视死如归的同学可以测试一下。

原文: http://vhanda.in/blog/2013/01/what-new-with-nepomuk-4-10/

openSUSE Member, neverland author, Fcitx/Hotot contributor and Weng Xuetian's friend.
Tags: ,

11 FEEDBACKS

  1. bsidb

    全篇笑~~~~太好玩了~~~ 原来近乎100%卡机的Nepomuk和Strigi总算有了改善~ 又想起对Gnome-Shell的批评:神设计、渣实现、然后推倒重来;如此循环往复。。。

  2. bsidb

    「卡机三驾马车」:akonadi、nepomuk、strigi(笑!) akonadi各种bug。。。。让人抓狂啊。。。POP3收邮件,无法标记已读。。。无语中。。。估计也是一个神设计渣实现的典型代表。

  3. csslayer

    替换widget,除了改进性能,显示的东西更少了那是因为原来显示的没用的太多了然后这玩意在kdelibs里面还是nepomuk1,nepomuk2没法主动修改默认显示值现在就终于方便管理了。

    显示没有 URL 的那个,那是因为以前nepomuk经常搜索出其实没用的东西(内部元数据,对enduser没意义的)……这部分不显示了。

  4. stecue

    不知道是nepomuk还是dolphin的改进。反正我以前都是禁用桌面搜索,dolphin打开文件夹还是要等上个两三秒。现在配置没变,直接从OpenSUSE的KDE:Release:410升级到最新,dolphin打开文件夹似乎快多了。

  5. 用了那个清理器,清理的时候mysql有点辛苦的

  6. 印象中一直觉得dolphin好慢……可刚才看看其实挺快的……

  7. 我以前忽视依赖强行卸载索引的包来去掉这些功能……

    果然是渣渣

  8. tmk

    这篇文章太好玩了 不过真的很期待了KDE4.10了

  9. Reiase

    KDE 4.0设计时的提出的几大组件,其实能用、好用的也就判plasma和dolphin。

  10. haulm

    nepomuk 在 4.9 时感觉已经还可以了,反正都是关闭的,开了经常发现在干私活。

Leave a Reply

Your email address will not be published. Required fields are marked *

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).