2012-10-03 93 views
4

我正在使用NSMetadataQuery执行焦点搜索,我遇到的问题是我无法限制NSMetadataQuery搜索/ Users/username/Library等特定隐藏文件夹(因为库已隐藏夹)。如何限制NSMetadataQuery搜索结果

任何帮助,将不胜感激。

回答

0

问题是由Spotlight创建的索引不是用来限制路径的。该索引经过优化以快速找到术语,然后您可以获得结果(或其他元数据)的相应URL。该索引未针对基于路径的搜索进行优化。

搜索索引(使用SearchKit构建)无论如何都非常优化,并且即使在大量文件的情况下结果也会非常快地返回。一个你得到结果,你必须自己过滤这些结果。

注意,在〜/库大多数文件将不会被包含在索引中,像缓存,文件的plist,插件等..

+0

Thankx的答复,但我很惊讶,对我来说,所有的文件,被隐藏或库被编入索引。你可以检查苹果示例代码“spotlighter”。 – Suhaiyl

+0

也许过滤是由Spotlight本身完成的,然后。这是我的理解,系统不会打扰索引这些文件,但也许他们已经改变了自Tiger以来的实施。 – charles