51CTO下载-全文检索(SQL2005).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
全文检索(SQL2005) 在项目中使用like语句搜索一个关键字,当数据表里的内容很多时,这个时间可能会比较长,而Sql Server里提供的全文索引技术则能大大提高检索速度,同时还能检索存入Image字段的文件(html、word、execl、pdf等),下面就说一下如何使用全文检索: 一、步骤 开启SQL Server FullText Search服务 可在Windows操作系统的【管理工具】-【服务】里找到(也可在“运行”里输入services.msc来打开服务),如要使用全文索引,则必须开启服务。如下图: 创建全文目录(以sports_new数据库为例) 1)启动【SQL Server Management Studio】,选择本地数据库实例--【数据库】--【sports_new】--【存储】--【全文目录】。? 2)右击【全文目录】,在弹出的快捷菜单里选择【新建全文目录】选项(这一步也可在向导过程中完成),如下图 ? 3)弹出如下对话框: 输入相关信息后点击“确定”。 创建全文索引 选择【表core_attachment】,右击【core_attachment】数据表,在弹出的快捷菜单里选择【全文索引】--【定义全文索引】,如下图 弹出如下对话框: 点击“下一步” 选择要检索的列,如要检索的列类型为Nvarchar或Text(如上图的DisplayName字段和CreatorName字段),选择后直接点击“下一步”即可,如要对image类型的字段里的文件进行全文搜索,必须还要有一个字符串类型的字段用于指明存储在image字段中的文件的扩展名(如Word文件,字符串类型的字段则存.doc或.docx),如上图。 点击“下一步” 选择“自动”(默认即为自动),点击“下一步” 可以选择全文目录,也可以在此页面创建新的全文目录,点击“下一步” 在此页面可新建表计划和目录计划(可不填),点击“下一步” 点击“完成”,即完成全文索引的创建。 填充全文索引,如下图 二、查询 使用全文搜索查询(以sports_new数据库的core_attachment表为例) 例一、搜索“core_attachment”表的displayname字段中含有“新建”两个字的记录, 其代码如下:? Select * from core_attachment where contains(displayname,新建)? (或Select * from core_attachment where freetext(displayname,新建)) 例二、搜索“core_attachment”表的displayname字段中含有“新建”或“测试”的记录,其代码如下:? Select * from core_attachment where contains (displayname,‘“新建” or “测试”) 例三、搜索“core_attachment”表的displayname字段中含有“新建”且有“测试”的记录,其代码如下:? Select * from core_attachment where contains (displayname, ‘“新建”and “测试”) 例四、搜索“core_attachment”表的displayname字段中含有test及其派生词的记录,其代码如下(比较弱):? select * from core_attachment where contains (displayname,formsof(inflectional,test)) 结果如下(test及其派生词testing): 例五、搜索“core_attachment”表的displayname字段中含有“文档、“测试”、“qq”的记录,并为不同的条件加上加权值(当以多个字符串作为搜索条件搜索记录时,可以为不同的字符串加上一个加权值,这个加权值是介于0和1之间的数值,加权值越高的记录排在越前面),其代码如下: select * from core_attachment where contains(displayname,isabout (文档weight(0.9),测试 weight(0.6),qq weight(0.5))) (注:freetext搜索方式与contains搜索方式相比,其搜索结果表现都十分不精确,因为FREETEXT的搜索方式是将一个句子中的每个单字拆分开进行搜索的。例如:如果使用CONTAINS搜索方式搜索条件为“教育部”的记录,那么搜索出来的将是记录里包含“教育部”三个字符串的记录。如果使用freetext搜索方式搜索条件为“教育部”的记录,那么搜索出来的将是记录里包含“教”或“育”或“部”的记录。) 三、补丁 SQL Se

您可能关注的文档

文档评论(0)

max + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档