在SQl2000/2005中搜索存储为二进制图像的HTML(不带全文)

在SQl2000/2005中搜索存储为二进制图像的HTML(不带全文),sql,sql-server,full-text-search,Sql,Sql Server,Full Text Search,我正在构建一个简单的搜索工具来搜索html内容的“n”篇文章。我尝试过全文搜索选项,在我们上线之前一切都很好,我在网络主机正确排序方面遇到了很多麻烦。 因此,我可能必须转移到不支持SQL全文的主机 所有文章都存储在SQL“image”列中,我只想在此列上运行类似“%keyword%”的搜索,但不知道如何执行此操作,也不知道是否可能 SQLserver可以解码二进制文件并进行动态搜索吗 或者我最好只在第二列中存储内容的纯文本版本 我已经看过Lucene.net项目,但不确定它是否能在共享托管平台上

我正在构建一个简单的搜索工具来搜索html内容的“n”篇文章。我尝试过全文搜索选项,在我们上线之前一切都很好,我在网络主机正确排序方面遇到了很多麻烦。 因此,我可能必须转移到不支持SQL全文的主机

所有文章都存储在SQL“image”列中,我只想在此列上运行类似“%keyword%”的搜索,但不知道如何执行此操作,也不知道是否可能

SQLserver可以解码二进制文件并进行动态搜索吗

或者我最好只在第二列中存储内容的纯文本版本

我已经看过Lucene.net项目,但不确定它是否能在共享托管平台上运行

任何帮助都将不胜感激

干杯。
craig

这取决于您的SQL server版本-在2000年,您可能运气不佳。“Image”实际上只是一个二进制blob-没有字符串函数或任何东西可以处理它

在SQL Server 2005中,您可能会将其(在数据库模式中或在运行中,使用CAST)转换为VARCHAR(MAX)——一种高达2GB的文本类型,它可以处理正常的字符串函数,并且可以使用WHERE CAST(blob AS VARCHAR(MAX))进行搜索,如“….”

它不会像闪电一样迅速,但可能会奏效。我更愿意将该列的数据类型更改为VARCHAR(Max),不过,对于一些HTML文档来说,所有这些都只是文本,最多支持2GB


Marc

谢谢Marc,不幸的是fasthosts只有SQL2000,这是我在使用它们时遇到的问题之一……好吧,8000个字符对你来说足够了吗?将列设置为VARCHAR(8000)类型肯定比图像类型要好。。。。。。