galbanum

学习是有始无终的事情

全文检索(四)

 使用FREETEXT搜索

FREETEXT搜索方式与CONTAINS搜索方式相比,其搜索结果表现都十分不精确,因为FREETEXT的搜索方式是将一个句子中的每个单字拆分开进行搜索的。例如:如果使用CONTAINS搜索方式搜索条件为教育部的记录,那么搜索出来的将是记录里包含教育部三个字符串的记录。如果使用FREETEXT搜索方式搜索条件为教育部的记录,那么搜索出来的将是记录里包含的记录。如果搜索的是英文字符串“SQL Server 2005”,则拆分为“SQL”“Server”“2005”来进行搜索,只要满足其中一个条件都算搜索成功。FREETEXT的语法代码为:

FREETEXT ( { column_name | (column_list) | * }

          , 'freetext_string' [ , LANGUAGE language_term ] )

其中:

l  column_name:为字段名。

l  column_list:为字段列表。

l  *:代码所有字段。

l  'freetext_string':搜索的字符串。

l  LANGUAGE language_term:用于单词断字、词干分析、同义词库查询以及干扰词删除的特定的语言。

FREETEXT的搜索方式没有CONTAINS复杂,下面举例说明:

例七、用CONTAINSFREETEXT两种方式来搜索教育部字符串,其代码如下:

SELECT * FROM 文章

         WHERE FREETEXT(内容,'教育部')

SELECT * FROM 文章

         WHERE CONTAINS (内容,'教育部')

其运行结果如图22所示,使用CONTAINS查询结果要比使用FREETEXT的查询结果记录数要多得多。

22 CONTAINSFREETEXT的查询结果

 
阅读更多
个人分类: SQLServer
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

全文检索(四)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭