- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第08章视图与索引分析
SQL Server 2005 返回本节首页 例8-40 使用CONTAINSTABLE和Top_n_by_rank返回按等级排列的前10个结果 对于在词“sauces”或“candies”附近包含“sweet and savory”的 Description 列,以下示例将返回其前 10 种食品的说明和类别名称。 SELECT FT_TBL.Description, FT_TBL.CategoryName, KEY_TBL.RANK FROM Categories AS FT_TBL INNER JOIN CONTAINSTABLE (Categories, Description, (sweet and savory NEAR sauces) OR (sweet and savory NEAR candies), 10 ) AS KEY_TBL ON FT_TBL.CategoryID = KEY_TBL.[KEY] 8.3.3 使用全文搜索查询-- CONTAINSTABLE的使用 返回本节首页 谓词用于搜索含有基于字符的数据类型的列,其中的值符合在搜索条件中所指定文本的含义,但不符合表达方式。 如果使用FREETEXT,则全文查询引擎将在内部对freetext_string执行以下操作,并为每个字词分配权重,再查找匹配项。 1)基于单词边界(单词界限)将字符串分隔成单独的单词; 2)生成单词的词形变化形式(词干处理); 3)基于同义词库中的匹配项标识字词的扩展或替换的列表。 FREETEXT({column_name|(column_list)| * },‘freetext_string’[,LANGUAGE language_term])。 8.3.3 使用全文搜索查询-- FREETEXT谓词的使用 返回本节首页 例8-41 使用FREETEXT搜索包含指定字符值的单词,以下示例搜索包含与vital、safety、components相关的单词的所有文档。 SELECT Title FROM Production.Document WHERE FREETEXT(Document,vital safety components); 例8-42 以下示例使用变量来取代具体的搜索项。 DECLARE @SearchWord varchar(30); SET @SearchWord =instruction; SELECT Document FROM Production.Document WHERE FREETEXT(Document, @SearchWord); 8.3.3 使用全文搜索查询-- FREETEXT谓词的使用 返回本节首页 为符合下述条件的列返回行数为零或包含一行或多行的表:这些列包含基于字符的数据类型,其中的值符合指定的freetext_string中文本的含义,但不一定具有完全相同的文本语言。像常规表名称一样,FREETEXTTABLE 也可以在 SELECT 语句的 FROM 子句进行引用。 使用FREETEXTTABLE进行的查询可以指定freetext类型的全文查询,这些查询为每行返回一个关联等级值(RANK)和全文键(KEY)。 FREETEXTTABLE(table,{column_name|(column_list)|*},freetext_string[,LANGUAGE language_term][,top_n_by_rank] ) FREETEXTTABLE使用与FREETEXT谓词相同的搜索条件。和CONTAINSTABLE一样,返回的表包含名为KEY和RANK的列,可以在查询中引用这些列以获取相应的行并使用行排名值。如果兼容级别小于70,则FREETEXTTABLE无法被识别为关键字。 8.3.3 使用全文搜索查询-- FREETEXTTABLE的使用 返回本节首页 例8-43 本例返回所有与sweet、candy、bread、dry或meat相关的类别名称和说明。 USE Northwind; SELECT FT_TBL.CategoryName,FT_TBL.Description,KEY_TBL.RANK FROM Categories AS FT_TBL INNER JOIN FREETEXTTABLE(Categories, Description,sweetest candy bread and dry meat) AS KEY_TBL ON FT_TBL.CategoryID=KEY_TBL.[KEY] 8.3.3 使用全文搜索查询-- FREETEXTTABLE的使用 返回本节首页 CONTAINSTABLE和FREETEXTTA
文档评论(0)