Как реализовать IFilter для индексации тяжеловесных форматов?
-
19-08-2019 - |
Вопрос
Мне нужно разработать IFilter для Microsoft Search Server 2008, который выполняет длительные вычисления для извлечения текста. Извлечение текста из одного файла может занять от 5 секунд до 12 часов. Как я могу создать такой фильтр IFilter, чтобы демон не сбрасывал его по истечении времени ожидания, а также можно сбросить другие фильтры IFilter по истечении времени ожидания, если они повесили трубку?
Решение
12 часов, вау! Р>
Если это займет много времени и будет много файлов, лучшим вариантом будет создание приложения предварительной обработки, которое извлечет текст и сделает его доступным для доступа к iFilter.
Другой вариант - создать html-сводку документов и дать указание сканеру проиндексировать их. Если сводная страница может легко ссылаться на сам документ, если это необходимо.
Другие советы
На самом деле я еще не разработал никаких фильтров, так что я просто догадываюсь, но способ, которым я всегда понимал вещи, заключается в том, что IFilter основан на чанках именно по этой причине. Реализация фильтра должна обеспечить, чтобы возвращаемые чанки были & Quot; достаточно малы & Quot; чтобы вызывающий демон поиска мог просто выйти между двумя чанками, если что-то занимает слишком много времени.
Очевидно, мое предположение неверно, иначе вы бы не задавали этот вопрос. Р>