【发布时间】:2012-09-24 08:35:38
【问题描述】:
我正在使用 NSMetadataQuery 执行聚光灯搜索,我面临的问题是我无法限制 NSMetadataQuery 搜索特定的隐藏文件夹,如 /Users/username/Library(因为库是隐藏文件夹)。
任何帮助将不胜感激。
【问题讨论】:
标签: objective-c xcode macos cocoa nsmetadataquery
我正在使用 NSMetadataQuery 执行聚光灯搜索,我面临的问题是我无法限制 NSMetadataQuery 搜索特定的隐藏文件夹,如 /Users/username/Library(因为库是隐藏文件夹)。
任何帮助将不胜感激。
【问题讨论】:
标签: objective-c xcode macos cocoa nsmetadataquery
问题在于 Spotlight 创建的索引并非旨在通过路径进行限制。索引经过优化,可以快速找到术语,然后您可以获取结果(或其他元数据)的相应 URL。索引未针对基于路径的搜索进行优化。
搜索索引(使用 SearchKit 构建)无论如何都进行了非常优化,即使有大量文件也能很快返回结果。获得结果后,您必须自己过滤这些结果。
请注意,~/Library 中的大多数文件不会包含在索引中,例如缓存、plist 文件、插件等...
【讨论】: