Pergunta

Eu tenho um aplicativo que precisa ter arquivos .doc enviados para ele. Esses documentos devem ser o índice e toda a coleção de documentos deve ser pesquisável. Isso será executado em um servidor Windows, sem o Word instalado, usando o IIS e o SQLServer, mas eu prefiro não estar ligado à indexação de texto completa do SQLServer.

Eu estava pensando em usar o Lucene.net para a parte de indexação e estava se perguntando qual seria a melhor maneira de obter o texto dos arquivos .doc. Eu provavelmente poderia extrair o texto lendo em todo o fluxo e depois usar um regex para extrair personagens regulares, mas isso parece pesado e propenso a erros.

Vi um artigo sobre o uso de ifilters que parece promissor, mas pensei em divulgar isso, pois não é algo que estou familiarizado.

PS Se isso importa, esses arquivos .doc terão campos de mérito de correio e não há outra alternativa atual para o formato .doc.

Foi útil?

Solução

Quanto a uma solução que não exigia um programa externo, parece que a solução Ifilter é o caminho a seguir (mesmo que você possa contar isso como um programa externo).

Aqui está um artigo e código simples de codeplex sobre como isso pode ser feito: http://www.codeproject.com/kb/cs/ifilter.aspx

Outras dicas

Em nossos aplicativos baseados em PHP, sempre usamos programas externos semelhantes a este: doc2txt. Em seguida, pegamos o texto e o salvamos no banco de dados. Se você pesquisar no Google por "doc2txt", encontrará muitos programas diferentes fazendo exatamente a mesma coisa. Basta levar o que mais lhe convier.

Talvez você queira fazer o checkout Solr.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top