全文索引的使用方法(一)

2024-02-27 20:18
文章标签 使用 方法 全文索引

本文主要是介绍全文索引的使用方法(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://blog.csdn.net/HEROWANG/archive/2009/08/11/4436605.aspx


view plaincopy to clipboardprint?
01./*建立测试环境*/ 
02. 
03.if object_id('tb') is not null 
04. 
05.   drop table tb 
06. 
07.go 
08. 
09.create table tb 
10. 
11.(id int identity(1,1), 
12. 
13. title varchar(200),  
14. 
15. detail varchar(1000), 
16. 
17. constraint pk_id primary key(id) –在建立全文索引时需要使用 
18. 
19. ) 
20. 
21.insert into tb 
22. 
23.select '火箭即将签下新秀射手',' 据悉,巴丁格与火箭队的合同谈判是于昨天完成的,巴丁格将得到与泰勒一样的合同。此前媒体曝光泰勒的合同为期四年,总价值万美元,其中前两年为保障性合同。巴丁格预计会在接下来几天内正式宣布签约加盟火箭。'  
24. 
25.union all 
26. 
27.select '韦弗被曝已与希腊豪门签约','据国际篮球网报道,前火箭队球员范-韦弗已经与希腊豪门奥林匹亚科斯队签订了合同。韦弗得到一份为期两年,总价值万美元的合同。' 
28. 
29.union all 
30. 
31.select '马刺豪掷千金为对抗湖人','马刺队在今夏休赛期补充了几员大将,主教练格雷格-波波维奇日前在接受Yahoo!体育采访时透露,马刺队不惜缴纳奢侈税构建豪华阵容就是为了对抗湖人队,争取拿到第五个总冠军。' 
32. 
33.union all 
34. 
35.select '华莱士未曾想过离开汽车城','此前本-华莱士已经同意重返底特律活塞,并且以老将底薪和活塞签下一份年万美元的合同,而据《每日先驱报》专栏作家米克-麦格劳透露,这位当年叱咤NBA赛场的内线防守悍将甚至从来就没有考虑过要离开活塞队。' 
36. 
37.union all 
38. 
39.select '米勒竟好横刀夺爱追求人妻','对于那些没看过雷吉·米勒在步行者创造“米勒时间”的“后”们,应该怎么介绍这位前NBA球星呢?难道从前天洛杉矶马里布海滩上空那架飞机拉的横幅说起?恐怕没有哪位家长愿意这么做。' 
40. 
41.union all 
42. 
43.select '姚明:没把上海当投资项目乐得生意做了好人当了','“姚蜜”说:不缺广告效应的姚明收购濒临绝境的上海东方篮球俱乐部,说明他是真的想为曾经的母队做点事情。' 
44. 
45.union all 
46. 
47.select '火箭不敌奇才终结年纪录','此役姚麦组合状态糟糕,姚明投中得到分个篮板次盖帽,麦迪投中拿下分个篮板次助攻,两人联手竟不如得到分个篮板次助攻次盖帽的贾米森。' 
48. 
49.  
50. 
51.第一步:启用数据库的全文索引 
52. 
53.sp_fulltext_database enable   --启用数据库的全文索引 
54. 
55.go 
56. 
57.第二步:建立全文目录 
58. 
59.create fulltext catalog tb_fulltext   
60. 
61.in path N'D:/Program Files/Microsoft SQL Server2005/MSSQL.1/MSSQL/FTData' 
62. 
63.with accent_sensitivity =on  --区分重音 
64. 
65.authorization dbo;--全文目录的所有者 
66. 
67.第三步:建立全文索引 
68. 
69.create fulltext index on tb 
70. 
71.(title,detail) 
72. 
73.key index pk_id  --指定索引列,为了提高性能,最好使用聚集索引 
74. 
75.on tb_fulltext 
76. 
77.with change_tracking auto  --在关联的表中修改了数据时,自动更新全文索引。 
78. 
79.  
80. 
81.第四步:查询示例: 
82. 
83.select * from tb 
84. 
85.where contains((title,detail),'姚明') 
 
 


查询的语法:
 
1、  搜索特定词:contains(detail,'姚明')
 
2、  搜索特定短语:用““将短语包含在双引号内,contains(detail,'姚明 上海')
 
3、  从多个列中搜索词和短语:contains((title,detail),'姚明 上海')
 
4、搜索以指定文本开头的词或短语:contains(detail,'“姚明*“')
 
如果文本和星号不包含在双引号内,则全文搜索会将星号看做是一个字符。如果搜索的是短语,则该短语内的每个词都被看做是一个前缀。contains(detail,'“姚明 上海*“')则将返回第一个词以姚明开头第二个词以上海开头的结果
 
5、  搜索特定词的变形:contains(detail,'formsof(inflectional,ride)')
 
将返回表中含有ride,rides,riding,ridden的行
 
6、搜索与另一个词或短语临近的词或者短语:contains(detail,'姚明 near 上海')
 
7、使用加权值的词或短语:contains(description,’isabout(performance weight(.8),comfortable weight(.4),smooth weight(.2))’)
 
Weight为每个词或短语指定一个0.0~1.0之间的加权值
 
8、使用多个搜索条件: contains(detail,'”姚明” or “上海”')
 
                     contains(detail,'”姚明” and “上海”')
 
                       contains(detail,'”姚明” and not  “上海”')
 
9、在contains中还可以使用变量
 
10、搜索同义词         contains(title,'formsof(thesaurus,上)')


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/HEROWANG/archive/2009/08/11/4436605.aspx

这篇关于全文索引的使用方法(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/753494

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删