SqlCollections - 全文索引
1 --==============================全文索引=============================== 2 --创建全文目录 3 --要创建全文索引前必须先创建全文目录 4 CREATE FULLTEXT CATALOG TSQL全文目录 5 WITH ACCENT_SENSITIVITY = ON --是否区分重音 6 AS DEFAULT --默认目录 7 AUTHORIZATION dbo --所有者 8 9 --修改全文目录 10 ALTER FULLTEXT CATALOG TSQL全文目录 11 REBUILD --重新生成全文目录 12 WITH ACCENT_SENSITIVITY = OFF 13 14 --删除全文目录 15 DROP FULLTEXT CATALOG TSQL全文目录 16 17 --创建全文索引 18 --每个表只能有一个全文索引 19 --每个全文目录可以有多个全文索引,每个全文索引只能属于一个全文目录 20 CREATE FULLTEXT INDEX --全文索引是没有名字的! 21 ON [dbo].[类别](说明) --ON 表名(字段名) 22 KEY INDEX [aaaaa类别_PK] --必须指定一个现有的唯一索引 23 ON TSQL全文目录 --ON 全文目录 24 25 --修改全文索引 26 ALTER FULLTEXT INDEX 27 ON [dbo].[类别] 28 DISABLE --禁用 29 30 --删除全文索引 31 DROP FULLTEXT INDEX ON [dbo].[类别] 32 33 --填充(更新)全文索引 34 ALTER FULLTEXT INDEX 35 ON [dbo].[类别] 36 START FULL POPULATION 37 38 --CONTAINS搜索 39 --单个词搜索 40 SELECT * FROM [dbo].[类别] 41 WHERE CONTAINS(说明,‘others‘) 42 43 --多词搜索 44 SELECT * FROM [dbo].[类别] 45 WHERE CONTAINS(说明,‘"others" or "meat"‘) --作为整体字符串传递 46 --WHERE CONTAINS(说明,‘others‘ or ‘meat‘) 是错的! 47 48 --派生词搜索 49 --注意断字符语言必须是英语等有派生词的语言才起作用 50 --brought也能搜到了 51 SELECT * FROM [dbo].[类别] 52 WHERE CONTAINS(说明, ‘FORMSOF(INFLECTIONAL,"bring")‘) --注意第2个参数必是字符串 53 54 --前缀词搜索 55 --注意只能用*,只能放在字母之后 56 SELECT * FROM [dbo].[类别] 57 WHERE CONTAINS(说明, ‘"c*"‘) 58 59 --加权词搜索 60 --加权值介于0和1之间,加权值越高排名越靠前 61 --加权值对CONTAINS无效,只对CONTAINSTABLE有效! 62 SELECT * FROM [dbo].[类别] 63 WHERE CONTAINS(说明, ‘ISABOUT("meat" weight(0.9), 64 "others" weight(0.6))‘) 65 66 --FREETEXT搜索 67 --精度没有CONTAINS高,只要包含任一字或单词都会检索出来 68 SELECT * FROM [dbo].[类别] 69 WHERE FREETEXT(说明, ‘dog meat xxxxx‘) 70 71 --CONTAINSTABLE搜索 72 --KEY表示就是创建全文索引时指定的唯一键 73 SELECT * FROM 74 CONTAINSTABLE([dbo].[类别],说明, ‘meat‘) 75 76 --目标:查询说明字段中含有某些词的前10条数据,并按权值排序 77 SELECT a.* FROM [dbo].[类别] a 78 JOIN CONTAINSTABLE( 79 [dbo].[类别],说明, ‘ISABOUT("coffee" weight(0.9), 80 "meat" weight(0.8), 81 "dog" weight(0.7))‘, 82 10 83 )b 84 ON a.类别ID = b.[KEY] 85 86 --FREETEXTTABLE搜索 87 SELECT * FROM [dbo].[类别] a 88 JOIN FREETEXTTABLE([dbo].[类别],说明,‘dog meat xxxxx‘) b 89 ON a.类别ID = b.[KEY]
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。