Возможно ли для родного приложения OS X прочитать и скопировать поисковый индекс Spotlight? - PullRequest
5 голосов
/ 08 ноября 2011

Я не хочу каким-либо образом изменять индекс, просто читать его, отслеживать его на предмет изменений и реплицировать.Это было бы с нативным приложением / службой, которое будет работать в фоновом режиме.Я предполагаю, что нацелился бы на 10,6+, но это не написано в камне.

Где находится фактический индекс? Могу ли я прочитать его любым семантически полезным способом?

Погуглив,Я не нашел никаких ссылок на фактическое местоположение индекса Spotlight или API для чтения всей вещи . Я нашел Справочник по поисковым наборам , который, кажется, объясняет, как лежащие в основеТехнология работает и может быть полезной, но не объясняет, как можно получить весь индекс или контролировать его с течением времени.

Я также заметил приложение под названием Хауда , которое предвещает предоставитьулучшенный веб-интерфейс для Spotlight, который может представлять интерес, хотя я не знаю, как они достигли своего эффекта - если это буквально простой веб-интерфейс, который вызывает тот же API поискового набора, что и Spotlight, с тем же индексом, это не совсем то, что япосле ...

Редактировать: Не могу поверить, что я не читал статью Википедии о Spotlight - хорошая ссылка, но я думаю, что мой вопросстоит.

(я - веб-интерфейсный пользователь, извиняюсь за нубизм.)

ОБНОВЛЕНИЕ: друг разработчика OS X думал, что он будет храниться в базе данных SQLite в скрытом файле., но не смог найти фактический файл за несколько минут, которые он потратил на поиск.Он нашел скрытый каталог .spotlight, но он был пуст.

1 Ответ

2 голосов
/ 15 ноября 2011

В Mac OS X 10.7 - предыдущие версии значительно отличаются - индекс Spotlight хранится в /.Spotlight-V100/Store-V2. Формат хранения недокументирован, но определенно не SQLite.

Я сомневаюсь, что есть какой-либо полезный способ извлечь данные из индекса Spotlight без непрактичного количества обратного инжиниринга. Даже если бы вы это сделали, это, вероятно, порвало бы с новыми выпусками Mac OS X.

...