SQL2000的全文索引的完整的图形表示
全文检索可检索的文本、图像varchar类型的字段,但一个表最多只能建立一个全文索引。SQL Server 2000引入了对图像列中存储的这些类型的数据进行全文检索的能力。
如果没有全文索引,那么对字符的模糊查询只能在基表上扫描完整的表(或索引扫描)。
执行模糊查询需要完整的表扫描或索引扫描来表示大量IO。
如果模糊查询频繁出现,数据库的性能就会恶化。
为了简单起见,这是一个非常完整、高效的varchar字段全文本索引。
创建和维护的过程。
1:
展开数据库以在企业管理器中建立全文索引,右击全文目录,选择新的全文目录
如图1所示。
可以将全文目录放在单独的磁盘或磁盘阵列上以提高效率,从而修改全文目录的路径。
建议对整个全文目录不进行任何形式的填充和调度。
图1 =================== ===================
2:
接下来,将全文索引添加到特定表中。
全文索引不能建立在视图上,只能建立在具有唯一索引(主键和惟一索引)的基表上。
图2显示了如何在表上建立全文索引。
为了演示的t_fulltext表和初始化数据构建脚本如下:
创建表t_fulltext
(
排除恒等式(1,1),
varchar(256)不为空的标题,
writetime DateTime默认(getdate())
)
去
修改表添加主键约束t_fulltext pk_fulltext(RID)
去
-初始化数据
插入t_fulltext(标题)值('shandong蓬莱河西金矿透水事故2人死亡3人失踪(21:29))
插入t_fulltext(标题)值('thailand将设立驻南宁总领事馆、广西(21:10))
插入t_fulltext(标题)值('hebei安徽等12个省和其他省份和其他12个省市减免农业税政策落实到位(20:43))
插入t_fulltext(标题)值(台湾学者陈水扁在元旦讲话(20:04))
插入t_fulltext(标题)值('macao首席执行官发表新年贺词,向公众拜年(20:02))
插入t_fulltext(标题)值(山东平水引水渠首建成功的项目(岗位))
插入t_fulltext(标题)值(组图:北京110摩托车巡逻(18:07))
插入t_fulltext(标题)值(在福建广西医院'patients患者(17:33))
插入t_fulltext(标题)值(第一天的北京大容量公交运行满载乘客(17:30))
插入t_fulltext(标题)值(北京公安系统全部停止今天严格检查鞭炮五响(17:30))
插入t_fulltext(标题)值(学习发现海龙基因酶具有杀灭作用,对禽流感病毒(27))
插入t_fulltext(标题)值(上海世博会面临五大挑战(17:03)在实质性操作)
插入t_fulltext(标题)值('taiwan媒体称陈水扁的讲话将唱一首古老的歌(15:30))
插入t_fulltext(标题)值(影响海水的珠江三角洲地区低于去年(15:12))
插入t_fulltext(标题)值(上海市民体验轨道交通4号线列车(14:53分))
插入t_fulltext(标题)值(广州亿诈骗案主Wang Risheng pipansihuan(图)(14:44))
插入t_fulltext(标题)值('review:取消人民分享经济增长成果的农业税(17:30))
插入t_fulltext(标题)值('hongkong媒体谈论美国的新战略对中国:合作与预防(15时57分))
插入t_fulltext(标题)值(一次对陈建敏的采访中,中国地震局导演:地震是可以预测(15:56))
插入t_fulltext(标题)值('comment:野蛮的公共交通是不是城市的丑陋形象代言人(13:27))
插入t_fulltext(标题)值(台湾媒体称当局反对民营企业为百姓祝福(12:50))。
图2 =================== ===================
3:欢迎界面的外观如图3所示。
图3 =================== ===================
4:选择全文索引的惟一索引,如图4所示
图4 =================== ===================
5:选择的全文索引的列,注意,一个表只能建立一个完整的文本index.build
不要选择坏字的语言,以便在实践中使用默认的破词语言,如图5所示。
通过操作
sp_configure'default全文语言
你可以看看默认的字语,如运行在我的机器上的一个酒吧,这config_value值是2052
它代表简体中文。
在其他代码中表达的语言可以参考联机图书的默认全文关键字。
由于SQL Server对中文分词不很清楚,所以不能依靠SQL Server为您带来非常智能的搜索。这意味着全文搜索结果可能有意外记录,或者您希望出现的记录没有出现。
图5 =================== ===================
6:将表分配给全文目录,如图6所示,也可以通过这个接口创建一个新目录。
图6 =================== ===================
7:下一步,我们会提示表格填写时间表。为了实时和实时地将基表全文索引列应用到全文索引中,我们建议使用下面介绍的其他方法来索引维护。如图7所示,建议不要在这里添加任何调度,然后直接单击下一步。
如果没有修改数据,则在完全填充之后不会添加其他类型的表级填充。
如果它被执行到这个步骤,并且没有添加更多的表调度,那么基本表数据的更新不会更新到全文索引。
图7 =================== ===================
8:单击完成界面中的完成提示,如图8所示。请等到下一个界面出现。
图8 =================== ===================
9:单击接口中的确认,如图9所示。
由于没有将任何调度添加到表中,所以还需要设置它。
图9 =================== ===================
10:在企业资源管理器对f_fulltext单击表格,如图10所示,选择更改跟踪。
选择了更改跟踪之后,基表数据的后修改可以在全文索引中反映出来。
特别注意:一旦选择了变更跟踪,根据经验,确实需要完成表的完整填充。
如果是在线使用的全文索引数据库,选择更改跟踪会导致性能迅速下降,从而导致全文索引。
它不能用。
图10 =================== ===================
11:在企业资源管理器对f_fulltext单击表格,如图11所示,选择在后台索引更新。
通过这一步,全文索引已经完成。因为我们已经选择了更改跟踪,表的全部填充实际上已经开始了。
根据经验,300万个全文索引字段的长度为50,完成完整的填充需要8到10个小时。
图11 =================== ===================
12:我们可以双击全文目录中的全文索引来查看全文目录的属性。如图12所示,状态是空闲的,项计数大于0,这意味着已完成满填充。
图12 =================== ===================
13:如何进行全文索引查询(简单介绍)
全文索引的查询,建议使用CONTAINS和FREETEXT谓词的查询。
如果关键词只包括干扰词(关于干扰词的信息,请参阅联机干扰词关键字)。
SELECT * FROM t_fulltext其中包含(标题,3英尺)
将报告以下错误
服务器:消息7619,级别16,状态1,第1行
全文操作失败。查询子句只包含被忽略的单词。
使用下面的语法,您可以避免错误,并且可以真正查询正确的记录。
SELECT * FROM t_fulltext其中包含(标题,×3×)
13台湾媒体称,陈水扁的讲话将唱一首古老的歌(15:30)2005-12-31 23:17: 17.670
10 Beijing public security system all stop today to check the five ring (17:30) 2005-12-31 23:17:17.653
17评论:取消农业税使人们分享经济增长的成果(17:30)2005-12-31 23:17: 17.670
9北京大容量公交对乘客的第一天操作爆裂(17:30)2005-12-31 23:17: 17.653
8例患者在广西福建去世,患者(17:33)2005-12-31 23:17: 17.653
(受影响的行数为5行)
全文索引的简单介绍就在这里,希望能起到作用。