我正在運行SQL Server 2008 R2開發人員版。全文搜索查詢不起作用
我已經跑了以下內容:
exec sp_fulltext_database 'enable'
然後我創建了一個表,一個文件類型柱上,並用VARBINARY(MAX)的數據類型的FileContent列。然後,我右鍵單擊表並使用主鍵,文件類型列和FileContent列定義全文目錄。然後我上傳
// <summary>
/// Read the file into a byte array for full text search
/// </summary>
/// <param name="inputStream"></param>
/// <returns></returns>
private byte[] GetFile(Stream inputStream)
{
BinaryReader br = new BinaryReader(inputStream);
byte[] file = br.ReadBytes((int)inputStream.Length);
br.Close();
inputStream.Close();
return file;
}
的文件被上傳到SQL Server的文件(使用C#這種輔助方法)和I可以在FileContent柱內看到的二進制數據。
我現在試圖查詢全文目錄:
SELECT * FROM Entities.Documents
WHERE CONTAINS(FileContent, 'tablesorting')
SELECT * FROM Entities.Documents
WHERE CONTAINS(FileContent, 'Tablesorting')
SELECT * FROM Entities.Documents
WHERE FREETEXT(FileContent, 'tablesorting')
SELECT * FROM Entities.Documents
WHERE FREETEXT(FileContent, 'Tablesorting')
這些都不返回任何數據,即使我上傳的(如Excel試算表2010年版)的文件包含單詞tablesorting。
有什麼建議嗎?由於
UPDATE
看來,SQL Server框中不能使用全文搜索與DOCX,XLSX等
這似乎令人難以置信考慮辦公室在2007年切換到這種格式,我使用SQL Server 2008 R2和新的文檔類型甚至沒有註冊。
微軟在這是最好的!
感謝您的貢獻。
你如何寫入文件? – Hammerstein 2011-12-21 12:17:17