2010-04-02 4 views
6

Je développe une application OS X pour organiser des "choses" (comme iTunes est en musique et iPhoto en photos). Au lieu d'avoir ma propre base de données et index, j'utilise Spotlight pour servir cet objectif.Utiliser Spotlight comme "base de données" d'une application

Est-ce que quelqu'un a déjà essayé? Est-ce sage?

Le principal avantage, comme je le vois, serait la simplicité et éviterait la redondance. Il semble un peu inutile d'implémenter ma propre machine d'index quand OS X est livré avec un intégré.

J'ai peu d'expérience de travail avec Spotlight, cependant. Du point de vue de l'utilisateur, je sais qu'il a été lent et imprécis dans les anciennes versions d'OS X. J'ai aussi l'intuition que puisqu'il vise à rechercher tout le système de fichiers, l'utiliser à des fins "locales" devient hackish.

De toute évidence, l'index de mes applications doit être constamment mis à jour. Peut-on utiliser mdimport pour cela?

Répondre

6

Plusieurs applications sont expédiées de cette façon. Je crois qu'il y a au moins une entreprise qui place toutes ses données client dans des fichiers texte pour utiliser Spotlight pour trouver des informations. Je sauvegarde des notes avec des mots-clés tout le temps en toute confiance que Spotlight pourra le retrouver plus tard!

En général, vous n'avez pas besoin de prodiguer Spotlight pour maintenir l'index à jour. C'est très bien de regarder les changements de fichiers et d'indexer rapidement.

La clé, vraiment, est de déterminer votre format de fichier. Si vous utilisez quelque chose que Spotlight peut indexer, par exemple des fichiers texte, il n'est pas nécessaire d'écrire un importateur. Sinon, vous faites. Aussi, jetez un oeil à Core Data car il a aussi un excellent Spotlight support.

Une mise en garde; il y a ces utilisateurs qui désactivent manuellement l'indexation spotlight sur un volume particulier. Rare, mais possible.

+0

Aha! C'est ainsi que vous personnalisez ce qui est affiché dans les résultats de la recherche (kMDItemDisplayName). Merci pour la réponse, c'est très instructif. – vicvicvic

+0

FWIW, écrire un importateur Spotlight n'est pas vraiment une tâche ardue. Pour la plupart des applications, cela peut être fait en quelques heures .. * (juste fini pour écrire mon premier importateur pour une ancienne application Carbon dans environ 3 heures) * – Jay

Questions connexes