zoukankan      html  css  js  c++  java
  • 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]
  • 相关阅读:
    html5的键盘事件
    阻止滑屏
    JS 复制到黏贴板上
    最新拖动原理
    方法——<37>
    验证——正则<37>
    《高级程序设计》 9 客户端检测
    《高级程序设计》8 BOM
    《高级程序设计》7 函数表达式
    《高级程序设计》6 面向对象的程序设计
  • 原文地址:https://www.cnblogs.com/sky-sun/p/4045471.html
Copyright © 2011-2022 走看看