Zeitgeist 索引究竟是什么?

Dus*_*tin 14 search indexing zeitgeist

对此我不是很清楚。Zeitgeist 是否将我的文档内容编入索引,以便搜索更相关?还是 Zeitgeist 只搜索我的文档的名称/扩展名?

Man*_*nha 21

简而言之,Zeitgeist 是一个事件日志。它不处理文件。它处理事件。它保存文件的内容。那不是时代精神的工作

时代精神做什么

事件的例子是

  • 文件打开/关闭/删除/保存
  • 已接/拨新语音电话
  • 提交一个 git/bzr 仓库
  • 打开 Firefox 页面
  • 下载文件
  • 开始 IM 聊天
  • 音乐播放、暂停、停止

想象一下任何事件和时代精神都可以记录它。

现在仅仅因为 zeitgeist 可以记录某些东西并不意味着它会记录它。它是一个公开 D-Bus API 的守护进程。该 API 提供了记录、检索、过滤或删除事件的方法。

时代精神数据中心

现在您需要外部应用程序将事件记录到时代精神。名为的第二个守护进程zeitgeist-datahub在您的系统上持续运行,它监视

  • 记录所有文件活动GtkRecentManager并将其推送到 zeitgeist 守护进程
  • 所有应用程序启动并记录
  • 下载目录中下载的所有文件

对于不使用 GtkRecentManager 的应用程序,提供了将相关事件推送到 Zeitgeist 的扩展/插件/插件/插件。调用这些组件是dataproviders因为它们为 zeitgeist 守护进程提供数据。

记录事件的使用

现在您拥有可以使用这些数据的应用程序。有一些好东西可以用数据来完成。例如

  • 查找最近打开的文件(因为存储的每个事件都包含一个timestamp
  • 查找特定应用程序最近打开的所有文件(因为存储的每个事件还包含触发该事件的应用程序的名称)。这可用于为每个应用程序文件菜单填充最近使用的文件
  • 应用程序启动器喜欢SynapseDo并且Unity Dash可以在用户键入名称时使用它来对应用程序列表进行排序
  • 该应用程序可以填充最常用的文件。例如gedit-dashboard使用时代精神来填充这个列表。你需要安装包gedit-plugins来启用这个 gedit 插件。单击“新建文件”以使用它

全文检索

Zeitgeist 也带有全文搜索 API,它只搜索事件的内容而不是文件本身。如果您播放了一首贝多芬的曲目,则记录的事件将包含

  • 时间戳
  • 用户是否明确单击“运行”或已安排事件(播放列表)
  • 活动内容是什么 - 赛道开始
  • 哪个应用程序做到了这一点
  • 资源(媒体文件)是如何存储的。在这种情况下作为文件
  • 一个自由格式的字符串作为标题,可以包含曲目名称、流派、艺术家、年份等。
  • 媒体文件的 mimetype

然后,zeitgeist 提供的全文搜索 API 只查看事件的字段进行搜索,而不查看文件。

请记住 Zeitgeist 不是文件跟踪器的文件搜索