Можно ли расширить индекс поиска Windows с помощью только обработчика фильтра? - PullRequest
1 голос
/ 30 марта 2011

Я хочу попытаться расширить индекс поиска Windows, добавив некоторые свои собственные данные. Для этого я поместил данные в пользовательский формат файла и написал обработчик фильтра поиска Windows, который знает, как зарегистрировать новый тип файла с помощью индексатора. Кажется, что мой код должен работать: когда я регистрирую DLL, новый тип файла отображается в списке индексируемых «Типов файлов» в параметрах индексирования, а когда я запускаю фильтрующего файладупа для моего пользовательского типа файла, он правильно выводит значения, которые я хочу вывести для каждого куска.

При этом я не могу отобразить значения в индексе поиска Windows. Я пытался переиндексировать (несколько раз), я пытался изменить расширенные параметры индекса на «Свойства индекса и содержимое файла». Я размещаю свои пользовательские файлы в индексированных местах, например в папке «Документы» и на рабочем столе.

На высоком уровне: действительно ли возможно расширить поисковый индекс Windows с помощью всего лишь обработчика фильтра, который работает с пользовательским форматом файла? В документации говорится, что вы должны реализовать источник данных оболочки с обработчиком протокола для расширения индекса, но затем в других местах говорится, что если вы просто добавляете новый пользовательский формат файла, вам просто нужно создать обработчик фильтра ( или обработчик протокола). Я не уверен, что правильно. Мне действительно не нужен источник данных оболочки для того, что я пытаюсь выполнить.

Если есть какие-то идеи тестирования, которые есть у людей, они тоже будут оценены. Спасибо!

1 Ответ

0 голосов
/ 29 ноября 2011

Вам необходимо добавить правильные ключи реестра для IFilter, который будет зарегистрирован. Есть 2 основных ключа, один для регистрации обработчика, а другой для регистрации данного расширения файла для использования вашего обработчика. Если вы посмотрите на FilterSample в Windows, найдите примеры SDK (http: // www.microsoft.com/download/en/details.aspx?displaylang=en&id=7388).

Для регистрации класса: http://msdn.microsoft.com/en-us/library/ms692540%28v=VS.85%29.aspx Чтобы зарегистрировать его с заданным расширением файла: http://msdn.microsoft.com/en-us/library/ms692488%28v=VS.85%29.aspx

К сожалению, он по-прежнему будет индексироваться как английский и будет использовать английский WordBreaker и английский Stemmer, а также фильтр английских шумовых файлов (стоп-слов), который находится в C: \ windows \ system32 \ noise.dat и \ noise.enu.

Я дам вам знать, если выясню, как исправить эту часть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...