Spotlight Importer frågetecken

Tråden skapades och har fått 8 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Uppsala
  • 2005-10-21 11:57

Jag skriver ett program som katalogiserar musik CDs (iCDc) som jag håller på att skriva en Spotlight Importer för. Vad jag vill åstadkomma är att man får upp de enstaka skivorna som träffar i en spotligth-sökning, men att man öppnar den fil (t.ex ~/Library/Preferences/CD Info.cidb) som den skivan ligger i och markerar träffen. Ungefär som Adressboken fungerar. Skillnaden mellan Adressboken och iCDc är att iCDc kan jobba med flera filer, men Adressboken jobbar mot en fil/databas som alltid ligger på samma ställe.
Jag har kollat runt lite men inte hittat något bra svar. Är det någon som har en idé om hur jag kan lösa detta?

  • Medlem
  • 2005-10-22 00:18

Tror enda sättet att få upp de enstaka skivorna vid en spotlight sökning är att skapa filer för varje skiva med den metadata du vill kunna söka på i ~/Library/Caches/Metadata/din_app/ som bl.a. Adressboken, iCal och Safari gör. Sen gäller det att hålla dessa filer i sync med dina databaser, vilket antagligen inte är det lättaste. Filer i ovanstående katalog kommer inte visa någon sökväg i spotlight fönstret. Det är långt ifrån en bra lösning och jag vill inte tänka på antalet filer som måste skapas om man har många skivor :). Man kan ju hoppas Apple fixar detta i framtiden och gör det möjligt att returnera flera sökresultat för en fil. Sen skulle man ju även vilja lägga till egen spotlight kategori för dina skivor, men det verkar inte heller vara möjligt i dagsläget.

  • Medlem
  • Göteborg
  • 2005-10-22 00:22

Finns det någon speciell anledning att använda flera filer?? Borde inte Core Data vara ett bättre alternativ?

  • Medlem
  • Uppsala
  • 2005-10-22 09:13
Ursprungligen av flojon:

Finns det någon speciell anledning att använda flera filer?? Borde inte Core Data vara ett bättre alternativ?

Utveckla gärna.

  • Medlem
  • 2005-10-22 11:09
Ursprungligen av flojon:

Finns det någon speciell anledning att använda flera filer?? Borde inte Core Data vara ett bättre alternativ?

Flera filer verkar vara den enda lösningen i dagsläget eftersom spotlight returnerar filen med metadatan. Oavsett Core Data eller ej, så kommer du bara få tillbaka "databasfilen" och inte enstaka entiteter i databasen vid en spotlightsökning. Vore grymt om du har någon annan lösning på problemet?

  • Medlem
  • Uppsala
  • 2005-10-22 11:17

Många program verkar göra så, kollade t.ex. även Delicious Library, och de gör på samma sätt, flera filer. Visserligen blir inte en skiva på mer än ett par kb, men har man ett par hundra eller tusen skivor blir det ju en del, och det är ju onödigt när det blir dubbla uppsättningar av allt data.

  • Medlem
  • Göteborg
  • 2005-10-22 11:52

Ok, jag missförstod problemet.
Hittade den här sidan:
http://arstechnica.com/reviews/os/macosx-10.4.ars/9
som verkar bekräfta att du behöver en fil för varje CD skiva...

  • Oregistrerad
  • 2006-02-04 21:08

Jag tycker det borde vara en stor begränsning att "granulariteten" av sökbara objekt bara kan vara filer. Precis som waelhby vill göra, så är det ju vanligt att man lagrar objekt i databaser, så jag undrar: hur gör Apple själva för att söka objekt i OSX mer "privata delar"? Är verkligen alla sökbara saker representerade av enskilda filer i filsystemet? Adresser och kalenderhändelser också?

Om inte så kanske Apple har något eget API för callbacks för icke fil-orienterade objekt, ett callback som kanske blir öppet någon dag...

Vet någon sanningen om detta? Jag spekulerar ju mest här och jag har lite praktisk erfarenhet av Spotlight än så länge...

/Anders

  • Oregistrerad
  • 2006-02-04 21:13

...en annan fråga: vet ni om det finns Spotlight callback stöd för Java-applikationer som råkar köra i OSX?

1
Bevaka tråden