正文

SQL Server2000全文索引心得! 2007-01-30 09:59:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/Csharpsky/22967.html

分享到:

试想,如果你开了家药铺,第一年在纸上写下1,2,3,4,5号抽屉放黄胆.9,52,7号抽屉中放灵芝,47,25,36,87号抽屉中放天麻............有一天你急要找天麻,于是,47,25,36,87号抽屉逐个找,费时,费力.

第二年,你老婆在纸上写下:黄胆:1,2,3,4,5号抽屉.天麻:9,52,7号抽屉.灵芝:47,25,36,87号抽屉.有一天,她急要找灵芝,但,没用几分钟,就找到了!

那么,第一种情况是什么呢?对!就是我们经常用到的;LIKE索引!第二种情况就是本文要向你介绍的:全文索引!

LIKE索引:LIKE谓词用于指出一个字符串是否与指定的字符中相匹配.

全文索引:就是事先做好相关的索引,表示哪个主题词可以在哪些记录里找到,甚至事先计算好RANK,检索时可以把相关度高的先列出来,这可以大大提高检索的速度。

那么,在SQL 2K中怎么建全文索引呢?

例子:

1、 打开NorthWind数据库,右键Products表,选择“全文索引表”,“在表上定义全文索引”,为其创建全文目录。在“全文索引向导”中,选择你需要全文查询条件的列(可以是文本或图像),我们选择Productname和QuantityPerUnit列。然后下一步,输入一个新的目录p,点击下一步。在填充调度一项里,我们暂时不建立填充调度。接着“下一步”,全成全文索引向导。完成后,我们可以看到在“全文目录”里,多了一个全文目录p。右键p属性,可以看到其状态、表、调度情况。
 
2、  右键全文目录p, “启动完全填充”,系统会出现“全文目录填充成功启动”。
 
3、  这时,我们可以使用Transact-SQL进行全文检索了,我们使用CONTAINS、FREETEXT等谓词。如:
 
检索ProductName中,即包含d又包含e的所有列
SELECT *
FROM Products
WHERE CONTAINS(ProductName, '"d*" and "e*" ')
结果如下:

阅读(2194) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册