Как реализовать IFilter для индексации тяжеловесных форматов? - PullRequest
2 голосов
/ 21 января 2009

Мне нужно разработать IFilter для Microsoft Search Server 2008, который выполняет длительные вычисления для извлечения текста. Извлечение текста из одного файла может занять от 5 секунд до 12 часов. Как я могу создать такой фильтр IFilter, чтобы демон не сбрасывал его по истечении времени ожидания, а другие фильтры IFilter можно было сбросить по истечении времени ожидания, если они зависали?

Ответы [ 2 ]

3 голосов
/ 27 января 2009

12 часов, вау!

Если это занимает много времени и имеется много файлов, лучшим вариантом будет создание приложения предварительной обработки, которое извлечет текст и сделает его доступным для доступа iFilter.

Другим вариантом будет создание html-сводок документов и указание сканеру проиндексировать их. Если сводная страница может легко ссылаться на сам документ, если это необходимо.

0 голосов
/ 22 января 2009

На самом деле я еще не разработал никаких фильтров, так что я просто догадываюсь, но способ, которым я всегда понимал вещи, заключается в том, что IFilter основан на чанках именно по этой причине. Реализация фильтра должна гарантировать, что возвращаемые чанки «достаточно малы», поэтому демон поиска по вызову может просто выйти между двумя чанками, если что-то занимает слишком много времени.

Очевидно, мое предположение неверно, иначе вы бы не задавали этот вопрос.

...