我有一个需要将.doc文件上传到它的应用程序。然后,这些文档应该是索引,并且应该可以搜索整个文档集合。这将在没有安装Word的Windows Server上运行,使用IIS和SqlServer,但我宁愿不依赖于SqlServer的全文索引。
我正在考虑使用Lucene.Net作为索引部分,并且想知道从.doc文件中获取文本的最佳方法是什么。我可以通过读取整个流然后使用regEx来提取任何常规字符来提取文本,但这看起来很大并且容易出错。
我看到一篇关于使用iFilters的文章听起来很有希望,但我想我会把它放在那里因为它不是我熟悉的东西。
P.S。如果重要的话,这些.doc文件中将包含邮件合并字段,而且.doc格式没有其他当前替代品。
答案 0 :(得分:3)
对于不需要外部程序的解决方案,看起来iFilter解决方案是可行的方法(即使您可能将其视为外部程序)。
以下是一篇简单的CodePlex文章以及如何完成的代码:http://www.codeproject.com/KB/cs/IFilter.aspx
答案 1 :(得分:1)
在我们基于PHP的应用程序中,我们总是使用与此类似的外部程序:doc2txt。然后我们将文本保存到数据库中。如果您在Google上搜索“doc2txt”,您会发现许多不同的程序完全相同。只需选择最适合你的那个。
答案 2 :(得分:0)
也许您想要结帐Solr。