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]