使用C#.NET、ASP.NET存储和搜索word文档

使用C#.NET、ASP.NET存储和搜索word文档,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我想在数据库中存储word文档(.doc),我需要提供对word文档集合的搜索,并突出显示这些单词 我使用的是VS2005-->ASP.NET、C#.NET、SQL Server。您可以将其存储在数据库中作为 类似的方法也会奏效 string filePath = ""; string connectionString = ""; FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read); B

我想在数据库中存储word文档(.doc),我需要提供对word文档集合的搜索,并突出显示这些单词


我使用的是VS2005-->ASP.NET、C#.NET、SQL Server。

您可以将其存储在数据库中作为

类似的方法也会奏效

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();
  • 更多信息,请查看此帖子 详情:


您可以将其存储在DB中作为

类似的方法也会奏效

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文档的内容提取为文本,将其与文档一起存储,然后使用关键字查询这个新列

但这不会特别快或有效。看起来全文索引可能会起到以下作用: 显然,办公室文件可以编入索引


输入关键字后,您可以查询全文索引,查找匹配的文档,然后打开文档并使用Office主Interop AssesFiles或VSTO突出显示单词。

您可以如上所述将文档存储为blob。然后需要某种方法对内容进行索引,以便进行搜索

您可以粗略地将Word文档的内容提取为文本,将其与文档一起存储,然后使用关键字查询这个新列

但这不会特别快或有效。看起来全文索引可能会起到以下作用: 显然,办公室文件可以编入索引


输入关键字后,您可以查询全文索引,查找匹配的文档,然后打开文档并使用Office主Interop AssesFiles或VSTO突出显示这些单词。

您的站点是公共站点吗?一个很好的非传统解决方案是使用谷歌。在google中键入:

站点:www.yoursite.com文件类型:doc searchTerm

这里有一个例子。请注意,“查看HTML”链接高亮显示文本。


如果你想变得更有趣,你可以使用这个对象向服务器上的Google发出请求,然后解析出响应,只在你的页面上显示链接。

你的网站是公共的吗?一个很好的非传统解决方案是使用谷歌。在google中键入:

站点:www.yoursite.com文件类型:doc searchTerm

这里有一个例子。请注意,“查看HTML”链接高亮显示文本。


如果你想玩得开心,你可以使用这个对象向服务器上的Google发出请求,然后解析出响应,只在你的页面上显示链接。

谢谢你的帮助。我还需要在文档中搜索关键字,并在显示时突出显示。如何在asp.net中实现这一点。这并不像一句话那么简单。通常,应用程序包含一个用于搜索的完整模块/单元。我建议在存储数据之前打包数据(gzip,这是在标准C#库中)。我们可以减少80%的空间使用。在现代处理器上,解压数据比从磁盘读取额外的80%数据要快。感谢您的帮助。我还需要在文档中搜索关键字,并在显示时突出显示。如何在asp.net中实现这一点。这并不像一句话那么简单。通常,应用程序包含一个用于搜索的完整模块/单元。我建议在存储数据之前打包数据(gzip,这是在标准C#库中)。我们可以减少80%的空间使用。在现代处理器上,解压数据比从磁盘读取额外的80%数据要快。