2009-01-21 5 views
2

J'ai besoin de développer un IFilter pour Microsoft Search Server 2008 qui effectue des calculs prolongés pour extraire du texte. Extraire le texte d'un fichier peut prendre de 5 secondes à 12 heures. Comment est-ce que je peux dessiner un tel IFilter de sorte que le démon ne le réinitialise pas au timeout et que d'autres IFilters puissent être réinitialisés à l'expiration du délai s'ils raccrochent?Comment implémenter un IFilter pour l'indexation de formats lourds?

Répondre

3

12 heures, ouah!

Si cela prend trop de temps et qu'il y a beaucoup de fichiers, votre meilleure option serait de créer une application de pré-traitement qui extrairait le texte et le rendrait accessible à l'iFilter.

Une autre option consisterait à créer des résumés html des documents et à indiquer au moteur de balayage d'indexer ceux-ci. Si la page récapitulative peut facilement être liée au document lui-même si nécessaire.

0

Je n'ai pas encore développé de filtres, donc je ne fais que deviner, mais la façon dont j'ai toujours compris les choses, c'est que l'IFilter est basé sur des blocs pour exactement cette raison. C'est à l'implémentation du filtre de s'assurer que les morceaux retournés sont "assez petits", donc le démon de recherche appelant peut simplement quitter entre deux segments si les choses prennent trop de temps.

Apparemment, mon hypothèse est fausse, ou vous ne seriez pas poser cette même question.

Questions connexes