sqlserver如何添加全文索引
展开全部
二、新建全文目录
全文目录是用来存储全文索引的
三、为表定义全文索引
四、点击下一步,按提示选择
1.确认下一步
2.选择唯一索引,通常是主键
3.选择要建立的全文索引列,对于断字符的选择如果列存的是中文就选择chinese,如果是英文就选择English
4.选择索引更新方式,可以先自动更新,以后数据量大了可以设置添加全文索引的计划
5.选择全文目录
五、全文索引的SQL查询关键字
建立好全文索引后就可以使用SQL语句来查询了,主要用带三个关键字 CONTAINS、FREETEXT、CONTAINSTABLE和FREETEXTTABLE
1.CONTAINS
搜索单个词和短语的精确或模糊的匹配项,要搜索的内容必须是个有意义的词语,比如说“苹果”、“建设厅”,不能是一些没意义的词语,比如“阿迪撒啊是”,“儿儿的”这样的词语即使
LIKE是能查询出来,但全文索引对这样没意义的词语可能没有建立索引,查不出来
SELECT*
FROMdbo.Business
WHERECONTAINS(Address,‘旅游‘)
实现功能:查询Business表中Address列包含“旅游”的行
详细查看:http://msdn.microsoft.com/zh-cn/library/ms187787.aspx
2. FREETEXT
和CONTAINS类似,不同的是它会先把要查询的词语先进性分词然后在查询匹配项
01.select*
02.fromdbo.Business
03.wherefreetext(Address,‘带婴儿旅游‘)
详细查看:http://msdn.microsoft.com/zh-cn/library/ms176078.aspx
3.CONTAINSTABLE
在查询方式上与 CONTAINS 几乎一样。但CONTAINSTABLE 返回的是符合查询条件的表,在 SQL
语句中我们可以把它当作一个普通的表来使用,并且使用 CONTAINSTABLE 的查询对每一行返回一个相关性排名值 (RANK) 和全文键
(KEY)。
SELECT*
FROMBusinessASFT_TBL
INNERJOINCONTAINSTABLE(Business,*,‘ISABOUT(婴儿WEIGHT(.8),赤水WEIGHT(.4))‘)
ASKEY_TBLONFT_TBL.BusinessId=KEY_TBL.[KEY]
ORDERBYKEY_TBL.RANKDESC
ISABOUT是这种查询的关键字,weight指定了一个介于0~1之间的数,类似系数。表示不同条件有不同的侧重。
CONTAINSTABLE 返回的表包含有特殊的两列:KEY,RANK。
被全文索引的表必须有唯一索引。这个唯一的索引列在返回的表中就成为 KEY。我们通常把它作为表连接的条件。
在某些网站搜索时,结果中会出现表示匹配程度的数字,RANK 与此类似。它的值在0~1000之间,标识每一行与查询条件的匹配程度,程度越高,RANK 的值大,通常情况下,按照 RANK 的降序排列。
详细查看:http://msdn.microsoft.com/zh-cn/library/ms189760.aspx
4.FREETEXTTABLE
在查询方式上与FREETEXT几乎一样。但 FREETEXTTABLE返回的是符合查询条件的表,在 SQL
语句中我们可以把它当作一个普通的表来使用,并且使用 FREETEXT的查询对每一行返回一个相关性排名值 (RANK) 和全文键
(KEY)。
SELECT*,
BusinessID,
Address
FROMBusinessASFT_TBL
INNERJOINFREETEXTTABLE(Business,Address,‘ISABOUT(带婴儿旅游WEIGHT(.8),赤水WEIGHT(.4))‘)
ASKEY_TBLONFT_TBL.BusinessId=KEY_TBL.[KEY]
ORDERBYKEY_TBL.RANKDESC
详细查看:http://msdn.microsoft.com/zh-cn/library/ms177652.aspx
--activate,是激活表的全文检索能力,也就是在全文目录中注册该表
execute sp_fulltext_table ‘ProSearch‘,‘activate‘
--填充全文索引目录
execute sp_fulltext_catalog ‘ProSearchCatalog‘,‘start_full‘
--查询全文索引是否建立完毕(0:完毕;1:正在建立)
select fulltextcatalogproperty(‘ProSearchCatalog‘,‘populateStatus‘)
三、介绍一下全文索引的一些相关操作
查看全文检索的配置情况:
sp_help_fulltext_catalogs -- 检查数据库有哪些全文目录
sp_help_fulltext_tables ProSearchCatalog -- 查看哪些表把全文索引建立在T_testData下
sp_help_fulltext_columns ProSearch -- 查看test表哪些字段配置了全文索引
删除全文索引必须与创建的时候倒过来一步一步操作:
drop fulltext index on test -- 撤销test上的全文检索
drop fulltext catalog FT_testData -- 撤销全文目录FT_testData
sqlserver如何添加全文索引
标签:ddrterm计划婴儿目录basecontains连接填充
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询