本机OS X应用程序是否可以读取和复制Spotlight搜索索引?

pet*_*ter 5 macos search spotlight

我不想以任何方式改变索引,只需读取它,监视它的变化,然后复制它.它将使用本机应用程序/服务,它将在后台运行.我假设我的目标是10.6+,但这不是一成不变的.

实际指数在哪里?我可以用任何语义上有用的方式阅读它吗?

谷歌搜索,我没有找到任何实际Spotlight索引位置的引用,或一个API来读取整个事情.我确实找到了搜索工具包参考,它似乎解释了底层技术如何工作并可能有所帮助,但没有解释如何检索整个索引,或者随着时间的推移监视索引.

我还注意到一个名为Houdah的应用程序预示着为Spotlight提供了一个改进的前端,这可能是我感兴趣的,虽然我不知道他们是如何实现它们的效果的 - 如果它实际上只是一个前端调用相同的Search Kit API作为Spotlight对抗同样的指数,这不是我追求的......

编辑:不敢相信我没有阅读关于Spotlight维基百科文章 - 很好的参考,但我认为我的问题代表.

(我是一个前端网络人物,为无辜而道歉.)

更新:OS X开发人员朋友认为它将存储在隐藏文件中的SQLite数据库中,但无法在他查看的几分钟内找到实际文件.他找到了一个隐藏的.spotlight目录,但这是空的.

小智 2

在 Mac OS X 10.7 上(之前的版本有很大不同),Spotlight 索引存储在/.Spotlight-V100/Store-V2. 存储格式没有文档说明,但绝对不是SQLite。

我怀疑是否有任何有用的方法可以从 Spotlight 索引中提取数据,而无需进行大量不切实际的逆向工程。即使您这样做了,它也可能会随着 Mac OS X 的新版本而中断。