如何使用Lucene.NET索引Word 2003,2007和2010文档

Arn*_*kas 5 vsto lucene.net ms-word .net-3.5 windows-server-2008

我正在编写一个自定义的Lucene.NET索引器来启用MS Word文档的索引.索引器必须能够处理MS Word:2010,2007和2003的最后三个版本.

计划是使用作为VS2010的一部分安装的VSTO互操作程序集来从文档中提取文本内容.

有没有更好的方法来实现Word文档索引?这是否意味着我必须在服务器上安装所有三个版本的Word?或者只是Word 2010?

工具/环境:

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

注意:有关如何实现此操作的详细信息,请参阅PDF或Word文档中的Sitecore文本搜索

Hak*_*onB 5

您可以使用IFilter插件来检索文档的内容,然后将其编入索引.该接口最初是Microsoft Index Service的一部分,但通常可用于索引文档.

几年前我查看了这项技术并且似乎记得Office文档的过滤器是内置在Windows中的,或者可以与完整的Office软件包分开安装,但我可能在这里错了.

更多关于在IFilter的技术IFilter的维基百科IFilter的MSDN上.你将不得不调查P/Invoke,并可能在pinvoke.net获得一些灵感IFilter.

可以在MSDN代码库中找到C#中的示例.