我正在编写一个自定义Lucene.NET索引器来启用MS Word文档的索引。索引器必须能够处理MS Word:2010,2007和2003的最后三个版本。
计划是使用作为VS2010的一部分安装的VSTO互操作程序集来从文档中提取文本内容。
有没有更好的方法来实现Word文档索引? 这是否意味着我必须在服务器上安装所有三个版本的Word?或者只是Word 2010?
工具/环境:
注意:有关如何实施此操作的详细信息,请参阅Sitecore text search in PDF or Word documents
答案 0 :(得分:5)
您可以使用IFilter插件来检索文档的内容,然后将其编入索引。该接口最初是Microsoft Index Service的一部分,但通常可用于索引文档。
几年前我研究了这项技术,并且似乎记得Office文档的过滤器是内置在Windows中的,或者可以与整个Office软件包分开安装,但我可能在这里错了。
有关IFilter at Wikipedia和IFilter at MSDN的IFilter技术的更多信息。你将不得不研究P / Invoke并获得一些灵感IFilter at pinvoke.net。
可以在MSDN Code Gallery找到C#中的示例。