2011-11-07 4 views
5

Nie chcę w żaden sposób zmieniać indeksu, po prostu go przeczytać, monitorować pod kątem zmian i replikować. Byłoby to z natywną aplikacją/usługą, która działałaby w tle. I "m zakładając, że będę kierowania 10.6+, ale to nie jest wyryte w kamieniu.Czy macierzysta aplikacja OS X może odczytać i skopiować indeks wyszukiwania Spotlight?

Gdzie jest rzeczywisty wskaźnik? Czy mogę czytać w dowolnej semantycznie użyteczny sposób?

Googling wokół, nie mam znalazłem wszelkie odniesienia do aktualnej lokalizacji indeksu Spotlight lub API do odczytu całej rzeczy. Znalazłem Search Kit Reference, która wydaje się wyjaśniać, jak działa podstawowa technologia i może być pomocna, ale nie wyjaśnia, w jaki sposób można odzyskać cały indeks lub monitoruj indeks w czasie.

Zauważyłem też aplikację o nazwie Houdah, która zwiastuje poprawę d frontendu do Spotlight, co może być interesujące, choć nie wiem, jak osiągnęli efekt - jeśli jest to dosłownie interfejs, który wywołuje te same interfejsy API co Kit Searchlight wobec tego samego indeksu, to nie do końca to, co robię ...

Edytuj: Nie mogę uwierzyć, że nie przeczytałem wikipedia article on Spotlight - dobre referencje, ale myślę, że moje pytanie się zgadza.

(Jestem front-end web facet, przeprosiny za noobishness.)

UPDATE: przyjaciela OS X deweloper myślałem że być przechowywane w bazie danych SQLite w ukrytym pliku, ale nie mógł zlokalizować rzeczywisty plik w ciągu kilku minut, które spędził patrząc. Znalazł ukryty katalog .spotlight, ale był pusty.

Odpowiedz

2

Na Mac OS X 10.7 - poprzednie wersje są znacząco różne - indeks Spotlight jest przechowywany w /.Spotlight-V100/Store-V2. Format przechowywania jest nieudokumentowany, ale z pewnością jest to SQLite w wersji , a nie.

Wątpię, czy istnieje jakiś użyteczny sposób wyodrębnienia danych z indeksu Spotlight bez niepotrzebnej ilości inżynierii wstecznej. Nawet gdybyś tak zrobił, prawdopodobnie zerwiesz z nowymi wersjami Mac OS X.

+0

Wikipedia mówi w Darwin, więc inżynieria odwrotna nie jest potrzebna, po prostu musisz znaleźć powiązane źródło (może poprosić o lista mailingowa dla dalszej pomocy byłaby dobrym pomysłem) – JustSid

+0

Podejrzewam, że Wikipedia jest w tym punkcie błędna - nie ma nic na http://opensource.apple.com/, która wygląda jak część Spotlight, i nie ma cytowanego źródła . – duskwuff

+0

Dzięki za bardzo przydatną odpowiedź. Czy uważasz, że zamiast czytać bezpośrednio indeks, może istnieć sposób, aby wykorzystać proces jego budowania i aktualizowania? (Niezależnie od tego, jaki proces zwany jest "SKIndexAddDocumentWithText", może być podświetlony, aby wywoływać 'MyIndexAddDocumentWithText'. Ponownie, wybacz moją ignorancję OS X.) Lub wszelkie inne pomysły na stworzenie pomocniczego indeksu systemu plików (w pobliżu zbudowania całego niestandardowego indeksera od tyłu do przodu) ? – peteorpeter

Powiązane problemy