我正在开发OS X应用程序来组织“事物”(因为iTunes代表音乐,iPhoto代表照片)。我正在考虑使用Spotlight实质上没有达到自己的目的,而不是拥有自己的数据库和索引。
有人尝试过吗?明智吗?
正如我所看到的,主要好处是简单和避免冗余。当OS X带有内置索引机制时,实现自己的索引机制似乎有点浪费。
但是,我几乎没有使用Spotlight的经验。从用户的角度来看,我确实知道它在OS X的较旧版本中运行缓慢且不精确。我也有一种直觉,因为它旨在搜索整个文件系统,因此将其用于“本地”目的变得很骇人。
显然,我的应用程序的索引需要不断更新。可以使用mdimport
吗?
最佳答案
几个应用程序以这种方式发布。我相信至少有一家公司将其所有客户数据放入文本文件中,以使用Spotlight查找信息。我一直都在用关键字保存注释,这完全有信心Spotlight以后可以找到它!
通常,您无需制作Spotlight即可使索引保持最新状态。观察文件更改和快速索引非常好。
真正的关键是弄清楚您的文件格式。如果您使用Spotlight可以索引的内容(例如文本文件),则无需编写导入程序。如果没有,那你就做。另外,请查看Core Data,因为它也具有出色的Spotlight support。
一个警告:有些用户会手动关闭特定卷上的Spotlight索引。稀有,但可能。
关于database - 将Spotlight用作应用程序的 "database",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2564549/