全文搜索查询不起作用
问题描述:
我正在运行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