我不想以任何方式更改索引,只需读取它,监视它以进行更改,然后复制它。它将使用本机应用程序/服务,它将在后台运行。我假设我的目标是10.6+,但这不是一成不变的。
实际指数在哪里?我可以用任何语义上有用的方式阅读它吗?
在Google上搜索,我没有找到任何对实际Spotlight索引位置的引用,也没有找到用于读取整个内容的API。我确实找到了Search Kit Reference,它似乎解释了底层技术如何工作并可能有用,但没有解释人们如何检索整个索引,或者随着时间的推移监视索引。
我还注意到一个名为Houdah的应用程序预示着为Spotlight提供了一个改进的前端,这可能是有意义的,虽然我不知道它们是如何实现它们的效果的 - 如果它实际上只是一个调用它的前端相同的Search Kit API就像Spotlight对同一个索引一样,这不是我追求的......
编辑:简直不敢相信我没有读过wikipedia article on Spotlight - 很好的参考,但我认为我的问题仍然存在。
(我是一个前端网络人物,为无趣而道歉。)
更新:OS X开发人员朋友认为它将存储在隐藏文件中的SQLite数据库中,但无法在他查看的几分钟内找到实际文件。他找到了一个隐藏的.spotlight
目录,但这是空的。
答案 0 :(得分:2)
在Mac OS X 10.7上 - 以前的版本有很大不同 - Spotlight索引存储在/.Spotlight-V100/Store-V2
中。存储格式没有记录,但肯定是不 SQLite。
我怀疑在没有不切实际的逆向工程量的情况下,从Spotlight索引中提取数据是有用的。即使你这样做了,它也可能会破坏新版本的Mac OS X.