SQL的全文索引

来源:互联网 发布:机械设计分析软件 编辑:程序博客网 时间:2024/04/29 08:18
--在执行该脚本程序之前启动sql server的全文搜索服务,即microsoft search服务use pubs  --打开数据库go--检查pubs是否支持全文索引,如果不支持全文索引,则使用sp_fulltext_datebase打开该功能if (select databaseproperty ('pubs','IsFulltextEnables'))=0   execute sp_fulltext_database 'enable'--建立全文目录FT_pubsexecute sp_fulltext_catalog 'FT_pubs','create'--为titles表建立全文索引数据元execute sp_fulltext_table 'titles','FT_pubs','UPKCL_titleidind'--设置全文索引列名execute sp_fulltext_column 'titles','title','add'execute sp_fulltext_column 'titles','notes','add'--建立全文索引execute sp_fulltext_table 'FT_pubs','activate'--填充全文索引目录execute sp_fulltext_catalog 'FT_pubs','start_full'  GO  --检查全文目录填充情况   WHILE FulltextCatalogProperty("FT_pubs','PopulateStatus')<>0    BEGIN     --如果全文目录正处于填充状态,则等待30秒后再检测一次     WAITFOR DELAY ‘0:0:30’    END--全文目录填充完成后,使用全文目录检索--查询title列或notes列中包含有database或computer字符串的图书名称SELECT title  FROM title  where CONTAINTS(title,'database')   or contains(notes,'database')   or contains(title,'computer')   or contains(notes,'computer')
上面是一个完整的例子,这样查询到的数据比like少数据,因为全文索引是以词组的形式查询的 不想like只要符合就行 比如“上海” like‘%上%’可以查出来,但是全文索引不一定能查询出来。
原创粉丝点击