2010-02-23 112 views
0

我有一个应用程序,允许用户上传文件,主要是PDF和Word文档。这些文件存储在数据库的varbinary字段中。无论用户如何通过Web或Windows Forms应用程序或任何其他表示层来访问应用程序,我都需要让这些文件可用。如何搜索SQL Server中的varbinary字段?

有没有方法可以搜索这些字段的原始文本内容?例如,如果我上传简历,我希望用户能够搜索C#并能够查看varbinary字段的内容以获取指定的文本。

此外,如果有更好的策略来处理这个问题,我愿意接受。

回答

3

我会说,使用SQL Server是工作的错误工具(搜索方式),因为它不能通过存储在二进制文档中的文本进行本地解析。

我建议你找一些像Lucene.NET(Lucene搜索引擎的.NET端口,最初用Java编写),这样可以让你在文件上传后轻松搜索文件。

您应该能够构建一个解决方案,允许您在SQL Server中保留文档存储,但使用Lucene.NET索引和搜索您存储在其中的文档。

+0

所以这听起来像我需要有(2)该文件的副本,一个存储在数据库中,另一个存储为可以索引的文件。我想知道SharePoint如何进行搜索? – mattruma 2010-02-23 15:22:45

+0

您不需要拥有该文件的两个副本。 Lucene.NET(有一点帮助)应该能够索引数据库中的副本。 SharePoint与Windows搜索服务的功能类似。 – 2010-02-23 15:33:56

2

您需要一层代码才能提取类型并了解格式。到SQL,它只是原始数据

相关问题