我想存儲在數據庫中的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