SQL全文检索例讲

博文思在路上

博文思在路上

2016-02-19 13:52

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐SQL全文检索例讲,赶紧看过来吧!

大家可能都会用
select * from tb where field like '%关键字%'
但是一旦数据量大用户多,就会造成查询过慢,因此MS提供一种牺牲空间来换取时间的解决方案。
全文检索。原文请看
http://www.microsoft.com/china/msdn/archives/library/dnsql2k/html/sql_fulltextsearch.asp
我对自己的实现加了些注释:

use  PopAsk
--使用这个库

exec sp_fulltext_database 'enable'
--使这个库允许全文检索

-----以下对Question_Total表操作------
/*
首先:要为全文检索目录起个名字,比如Q_ID_Desc
然后:要确保你这个表必须有个唯一主键,比如我这个Question_Total表,主键名是:PK_Question_Total
剩下就把要检索的列加进去就可以了。
*/
exec sp_fulltext_catalog 'Q_ID_Desc', 'create'
--创建名为Q_ID_Desc的全文检索目录,默认位置。

exec sp_fulltext_table 'Question_Total', 'create', 'Q_ID_Desc',  'PK_Question_Total'
-- 把Question_Total这个表,创建到全文检索目录中,指定主键。

exec sp_fulltext_column 'Question_Total', 'Title', 'add'
-- 把Question_Total这个表,要检索的Title列,添加到全文检索中。

exec sp_fulltext_column 'Question_Total', 'Content', 'add'
-- 把Question_Total这个表,要检索的Content列,添加到全文检索中。

exec sp_fulltext_table 'Question_Total', 'start_full'
-- 填充全文检索记录。

select FULLTEXTCATALOGPROPERTY('Q_ID_Desc', 'Populatestatus')
-- 这句可以不用,是检测是否添完状态的,1代表正在进行,0代表完成。

-----以下对另外一个表Answer_Total操作------
exec sp_fulltext_catalog 'A_ID_Desc', 'create'
--创建名为A_ID_Desc的全文检索目录,默认位置。

exec sp_fulltext_table 'Answer_Total', 'create', 'A_ID_Desc',  'PK_Answer_Total'
-- 把Question_Total这个表,创建到全文检索目录中,指定主键。

exec sp_fulltext_column 'Answer_Total', 'Answer_Content', 'add'
-- 把Answer_Total这个表,要检索的Answer_Content列,添加到全文检索中。

exec sp_fulltext_table 'Answer_Total', 'start_full'
-- 填充全文检索记录。

select FULLTEXTCATALOGPROPERTY('A_ID_Desc', 'Populatestatus')
-- 这句可以不用,是检测是否添完状态的,1代表正在进行,0代表完成。

/*
执行下列语句用于检索。
SELECT *
FROM FREETEXTTABLE(Question_Total, title, '测试')

SELECT *
FROM FREETEXTTABLE(Answer_Total, Answer_Content, '测试')
*/

躁声字文件

C:Program FilesMicrosoft SQL ServerMSSQLFTDATASQLServerConfigoise.chs

我参考别人的做法,只保留了一个?号。

还有数据库默认语言排序规则设置成Chinese_PRC_CI_AS

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

不要忘记建立一个作业,定时(一般可以每天)为全文检索添加记录。
exec sp_fulltext_table 'Answer_Total', 'start_full'
 
exec sp_fulltext_table 'Question_Total', 'start_full'
-- 填充全文检索记录。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

SQL全文检索例讲

编程语言 网络编程
SQL全文检索例讲

SQL Server全文检索简介

SQLServer
SQL Server全文检索简介

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

全文检索技术 sql server

编程语言 网络编程
全文检索技术 sql server

SQL Server对文件进行全文检索的查询

SQLServer
SQL Server对文件进行全文检索的查询

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server--全文本检索的应用(一)

SQLServer
SQL Server--全文本检索的应用(一)

SQL Server 对文件内容进行全文检索的查询

SQLServer
SQL Server 对文件内容进行全文检索的查询

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

验证注册用户名必须为字母

验证注册用户名必须为字母

没有Oracle客户端系统移植的三种方法

没有Oracle客户端系统移植的三种方法
下拉加载更多内容 ↓