• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Spotlight -- Metadata importer vs file package containing rtfd files
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Spotlight -- Metadata importer vs file package containing rtfd files


  • Subject: Re: Spotlight -- Metadata importer vs file package containing rtfd files
  • From: Kirk Kerekes <email@hidden>
  • Date: Wed, 4 May 2005 12:53:08 -0500

Just an update on this topic in case anyone else is interested...

It appears that Spotlight and the rest of the MD system have implemented a "path filter" that aggressively prevents the use of MD queries inside of Finder-opaque file packages.

Thus, not only does SpotLight not search inside of Finder-opaque packages (which I can sort-of understand), but you can't even _force_ anything inside such a package to be indexed by using any aspect of the public API that I have been able to find.

As a result, an application that encapsulates standard documents (like rtf or rtfd files) inside a file-package cannot use NSMetadataQuery to retrieve metadata for the file package.

This explains why the default mdimporter for RTFD files fails to index attachments to the rtfd file -- it can't use the OS to index the files, which could be anything.

To provide a specific example:

If you have an item, say ~/foo.bundle, and you create a query constrained to the bundle folder, the _content-indexing_ part of that query will always return zilch, whether you perform the query with the Spotlight UI or via NSMetadataQuery. Even if you attempt to index/ search ~/foo.bundle/Contents, the query will return zilch for file content searches.

You can easily demonstrate this for yourself using rtfd files with attachments and the "show package contents" contextual menu item in the Finder: If you open a Finder window on the RTFD package contents, the window's Find bar is suddenly incapable of finding the contents of the TXT.rtf file that contains the rtfd file's text when the search is constrained to window's directory. It can find the filenames, but ignores file-content.

While I can certainly understand not having most opaque bundles search by default, particularly during Spotlight's initial mass- indexing phase, having the code-level API suffer from the same constraint appears to be dubious at best.

Note that there does not appear to be any fundamental technical issue here -- the mdimport tool that does the indexing has a -f flag that "forces" it to index inside of opaque file packages. The only reason for the constraint appears to be that nobody considered this issue when the API was laid out, and nobody reconsidered it when the default rtfd importer had to be crippled (compared to previous versions of content-indexing, which indexed rtfd attachments) because of the API limitation.

IMHO, the API should be augmented with a searchOpaqueDirectories flag.

Until then, I would welcome anyone's knowledge of a confirmed work- around.


_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: Spotlight -- Metadata importer vs file package containing rtfd files
      • From: Nick Zitzmann <email@hidden>
  • Prev by Date: Tips on how to display NSArray of NSDictionaries using NSTreeController?
  • Next by Date: Re: Spotlight -- Metadata importer vs file package containing rtfd files
  • Previous by thread: Re: Tips on how to display NSArray of NSDictionaries using NSTreeController?
  • Next by thread: Re: Spotlight -- Metadata importer vs file package containing rtfd files
  • Index(es):
    • Date
    • Thread