sql server 2000 的standard edition 和enterprise edition 版本提供了对表数据中字符串的复杂检索功能---全文检索(full-text searches)。此功能需要在安装时通过自定义安装选项来添加。
10.7.1 全文索引和目录
全文检索是通过使用全文索引(full-text index)来实现的。一个全文索引中存储了表的数据中有确切含义的字符串以及其在表的列中的位置等信息。全文检索就是利用全文索引中的信息查找含有特定字符串的数据行。
全文索引包含在全文索引目录中(full-text catalogs),通常是由同一数据库中的一个或多个表的全文索引构成一个全文索引目录。一个表只能有一个全文索引,因此每个有全文索引的表只隶属于一个全文索引目录。一个数据库可以包含一个或多个全文索引目录,但一个全文索引目录也只能隶属于一个数据库。全文索引目录和全文索引尽管是由sqlserver 来管理,但是并不存放在数据库文件中,而是与microsoft search 服务相关的操作系统文件。
在使用全文索引查询时,sql server 将检索条件发送给microsoft search 服务。microsoftsearch 服务将找出所有符合全文检索条件的值,并将它们返送给sql server sql server就根据这些值来决定将处理表的哪些数据行。因此,必须启动microsoft search 服务才能
使sql server 具有全文检索的功能。
启动microsoft search 服务的方法有两种:
(1) 用enterprise manager 启动
在enterprise manager 的support services 目录树文件夹中用右键单击“full-textsearch”,从快捷菜单中选择“start”项,即可启动。启动后如图10-1 所示。
(1) contains
contains 谓词的语法如下
contains ( { column_name * } , '< contains_search_condition >' )
< contains_search_condition > ::=
{ < simple_term >
< prefix_term >
< generation_term >
< proximity_term >
< weighted_term >
}
{ ( < contains_search_condition > )
{ and and not or } < contains_search_condition > [ ...n ]
}
其含义是检索列中包含有符合< contains_search_condition >检索条件的信息。其中
“column_name” 必须是包含在全文索引中的列,“*” 表示检索条件应用到所有包含在全文索引中的列上。contains 谓词的含义与like 谓词相似,但contains 谓词的功能更强大,支持更多的查询方,式且对大小写不敏感。
本章小结
本章的大部分内容都在讲述select 语句的应用。精通select 语句等于攻克了sql语言的半壁江山。如果再能将下一章“数据库更新”中的语句熟练运用,那么就基本掌握了sql 语言。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器