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

时间:2010-10-25 12:05:24

标签: ms-word .net-3.5 vsto windows-server-2008 lucene.net

我正在编写一个自定义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

注意:有关如何实施此操作的详细信息,请参阅Sitecore text search in PDF or Word documents

1 个答案:

答案 0 :(得分:5)

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

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

有关IFilter at WikipediaIFilter at MSDN的IFilter技术的更多信息。你将不得不研究P / Invoke并获得一些灵感IFilter at pinvoke.net

可以在MSDN Code Gallery找到C#中的示例。