MSSQL全文检索
MSSQL全文检索
--1.打开数据库 use pubs go --2.打开全文索引支持 --execute sp_fulltext_database 'enable' /* (所影响的行数为 1 行) (所影响的行数为 0 行) (所影响的行数为 1 行) */ --3.建立全文目录ft_test --execute sp_fulltext_catalog 'ft_test','create' /* 命令已成功完成。 */ --4.为titles表建立全文索引数据元,UPKCL_titleidind为titles表中由主键所建立的唯一索引,此参数必须。 --execute sp_fulltext_table 'titles','create','ft_test','UPKCL_titleidind' /* (所影响的行数为 1 行) (所影响的行数为 1 行) */ --5.设置全文索引列名 --execute sp_fulltext_column 'titles','title','add' /* (所影响的行数为 1 行) (所影响的行数为 1 行) (所影响的行数为 1 行) (所影响的行数为 1 行) */ --execute sp_fulltext_column 'titles','notes','add' /* (所影响的行数为 1 行) (所影响的行数为 1 行) (所影响的行数为 1 行) */ --6.建立全文索引 --execute sp_fulltext_table 'titles','activate' /* 命令已成功完成。 */ --7.填充全文索引目录 --execute sp_fulltext_catalog 'ft_test','start_full' /* (所影响的行数为 0 行) (所影响的行数为 1 行) */ --8.至此,全文索引建立完毕。 |
1-6. 打开pubs数据库,右键titles表,选择“全文索引表”,“在表上定义全文索引”,为其创建全文目录。在“全文索引向导”中, 选择你需要全文查询条件的列(可以是文本或图像),我们选择title和notes列。然后下一步,输入一个新的目录ft_test,点击下一步。在填充调度一项里,我们暂时不建立填充调度。接着“下一步”,全成全文索引向导。完成后,我们可以看到 在“全文目录”里,多了一个全文目录ft_test。右键ft_test属性,可以看到其状态、表、调度情况。 7.右键全文目录ft_test, “启动完全填充”,系统会出现“全文目录填充成功启动”。 8.至此,全文索引建立完毕。 |
--9.使用CONTAINS, select * from titles where contains(title,'software') --contains(title,'it')--"服务器: 消息 7619,级别 16,状态 1,行 1"--为什么? or contains(notes,'software') --10.使用FREETEXT, select * --使用*时说明对表中的所有全文索引列进行搜索 from titles where freetext(*,' Computers') --freetext(*,' fuck') --11.结束语: --(1).优点: --简单易用,可用企业管理器进行界面操作; --功能强大,自动消除"噪音词"; --大数据表查询相对于"like"语句高效与现实性; --(2).不足: --数据添加和修改后,需手工"填充",或调度填充; --对计算机硬件要求较高; --需启动"Microsoft Search"服务; --需启动"SQL Server Agent"服务(调度填充) --"MSSQL/FTDATA"的磁盘空间占用 |
|
--部分摘自: http://www.cnblogs.com/kirk003/articles/377721.html |
部分摘自: http://dev.csdn.net/develop/article/17/17137.shtm |
--关于消息"7619":长话短说-忽略词,"你查的词被忽略了!"!
"noise.chs”文件,"查询子句只包含被忽略的词","……/Microsoft SQL Server/MSSQL/FTDATA/SQLServer/Config/noise.chs",
IOS