关闭

全文检索(四)

633人阅读 评论(0) 收藏 举报

 使用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的查询结果

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:234962次
    • 积分:2906
    • 等级:
    • 排名:第12217名
    • 原创:24篇
    • 转载:102篇
    • 译文:0篇
    • 评论:95条
    文章分类
    最新评论