2010-10-25 12 views
5

Estoy escribiendo un indexador Lucene.NET personalizado para permitir la indexación de documentos de MS Word. El indexador debe ser capaz de manejar las últimas tres versiones de MS Word: 2010, 2007 y 2003.Cómo indexar documentos de Word 2003, 2007 y 2010 usando Lucene.NET

El plan es utilizar conjuntos de interconexión VSTO que se instalan como parte de VS2010 para extraer el contenido de texto de los documentos.

¿Existe alguna forma mejor de implementar la indexación de documentos de Word? ¿Esto significa que tendré que instalar las tres versiones de Word en el servidor? ¿O solo Word 2010?

Herramientas/Medio ambiente:

  • Lucene.NET 2.3.1.3
  • VS2010/.NET 3.5
  • Windows 2008/IIS 7

Nota: Para obtener más detalles sobre cómo para implementar esto, vea Sitecore text search in PDF or Word documents

Respuesta

5

Puede usar los complementos de IFilter para permitirle recuperar los contenidos de los documentos y luego indexarlos. La interfaz es originalmente parte del Servicio de Index de Microsoft, pero generalmente está disponible para indexar documentos.

Miré en la tecnología hace un par de años y parece recordar que los filtros para documentos de Office fueron integrados en Windows o pueden instalarse por separado del paquete completo de Office, pero podría estar equivocado aquí.

Más sobre la tecnología IFilter en IFilter at Wikipedia y IFilter at MSDN. Deberá buscar en P/Invoke y obtener inspiración IFilter at pinvoke.net.

Una muestra en C# se puede encontrar en MSDN Code Gallery.

Cuestiones relacionadas