我想存储在数据库中的Word文档(.doc),我需要提供在Word文档的集合搜索和突出的话了。要储存和使用C#.NET搜索word文档,ASP.NET
我为使用VS2005 - > ASP.NET,C#.NET,SQL服务器。
我想存储在数据库中的Word文档(.doc),我需要提供在Word文档的集合搜索和突出的话了。要储存和使用C#.NET搜索word文档,ASP.NET
我为使用VS2005 - > ASP.NET,C#.NET,SQL服务器。
您可以在数据库存储它作为一个BLOB (Binary Large OBject).
类似的东西会工作
string filePath = "";
string connectionString = "";
FileStream stream =
new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] file = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
SqlCommand command;
SqlConnection connection = new SqlConnection(connectionString);
command =
new SqlCommand("INSERT INTO FileTable (File) Values(@File)", connection);
command.Parameters.Add("@File", SqlDbType.Binary, file.Length).Value = file;
connection.Open();
command.ExecuteNonQuery();
看看这个职位有点 细节:
如上所述,您可以将文档存储为BLOB。然后,您需要一些索引内容的方式,以便搜索。
你可能是原油和提取Word文档的内容为文本,这个存储与文件一起,然后查询使用的关键字这个新列。
这不会是particuarly快速或虽然efficent。它看起来好像全文索引可能会诀窍:http://www.codeproject.com/KB/architecture/sqlfulltextindexing.aspx 显然Office文档可以编入索引。
当输入一个关键字,那么你可以查询全文索引,找到匹配的文件,然后打开文件,并突出使用或者办公室主互assesmbiles或VSTO的话。
您的网站是公开的吗?一个好的非常规解决方案是使用Google。输入到谷歌:
网站:www.yoursite.com文件类型:DOC SEARCHTERM
下面是一个例子。注意查看HTML链接突出显示文本。 WhiteHouse.gov OMB Search
如果你想获得幻想,你可以使用WebRequest对象,以便在服务器上的请求,谷歌,然后解析出来只是显示你的页面上的链接ViewHtml的响应。
感谢您的帮助。 我还需要在文档中搜索关键字并突出显示。如何在asp.net中做到这一点。 – 2010-02-13 12:53:34
这不是一个简单的陈述。通常,应用程序包含用于搜索的整个模块/单元。 – 2010-02-13 13:18:34
我建议在存储数据之前将数据打包(gzip,这是标准的C#库)。我们得到了80%的空间使用减少量。在现代处理器上,解压缩数据比从磁盘读取额外80%的数据更快。 – 2010-04-22 15:10:45