Domanda

Devo sviluppare un filtro IFilter per Microsoft Search Server 2008 che esegua calcoli prolungati per estrarre il testo. L'estrazione di testo da un file può richiedere da 5 secondi a 12 ore. Come posso desistere un tale IFilter in modo che il demone non lo ripristini al timeout e anche altri IFilter possano essere ripristinati al timeout se riagganciano?

È stato utile?

Soluzione

12 ore, wow!

Se impiega così tanto tempo e ci sono molti file, la tua migliore opzione sarebbe quella di creare un'applicazione di pre-elaborazione che estrarrebbe il testo e rendesse disponibile l'accesso a iFilter.

Un'altra opzione sarebbe quella di creare riepiloghi html dei documenti e indicare al crawler di indicizzarli. Se la pagina di riepilogo potrebbe facilmente collegarsi al documento stesso, se necessario.

Altri suggerimenti

In realtà non ho ancora sviluppato alcun filtro, quindi sostanzialmente sto solo indovinando, ma il modo in cui ho sempre capito le cose è che l'IFilter è basato su chunk proprio per questo motivo. Sta all'implementazione del filtro assicurarsi che i blocchi restituiti siano "abbastanza piccoli", quindi il demone di ricerca chiamante può semplicemente uscire tra due blocchi se le cose impiegano troppo tempo.

Apparentemente, la mia ipotesi è sbagliata, altrimenti non faresti proprio questa domanda.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top