我想在存储 .doc/.docx(MS-Word) 文件的 varbinary(max) 类型的列上使用全文搜索编写查询。我的查询必须返回包含存储文件中的单词的记录。
这可能吗?
如果是,怎么做?(请写一个例子)
如果是,我们可以用其他语言(例如阿拉伯语、波斯语或 Unicode 字符)来写吗?
事先谢谢你。
我想在存储 .doc/.docx(MS-Word) 文件的 varbinary(max) 类型的列上使用全文搜索编写查询。我的查询必须返回包含存储文件中的单词的记录。
这可能吗?
如果是,怎么做?(请写一个例子)
如果是,我们可以用其他语言(例如阿拉伯语、波斯语或 Unicode 字符)来写吗?
事先谢谢你。
您正在寻找的是全文索引,它在 SQL Server 2008 中得到了极大的改进。
对于介绍,我建议您在此处查看这些文章:
一旦您理解了这一点并创建了自己的全文目录,您应该能够搜索如下内容:
SELECT ID, (other fields), DocumentColumn
FROM dbo.YourTable
WHERE CONTAINS(*, 'Microsoft Word')
是的,全文索引和搜索确实支持多种语言 - 请查看我发送给您的链接和 SQL Server 2008 联机丛书了解详细信息!
马克
如果您有 SQL Server 2005 或更高版本,是的,您只需要过滤器:
如果您有 SQL Server 2000,则可以索引 doc 文件,但据我所知,不能索引较新的 Office 2007 格式(我听说您可以通过在服务器上安装 Word 2007 来借用 IFilter)。