手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>服务器技术>Mail服务器>列表

Exchange全文检索概述

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
Windows下默认提供的IFilter有四个:针对纯文本的、针对HTML类型文档的、针对Office系列文档的、针对MIME文档。假如想支持其他类型的文档,就必须下载该类文档研发商提供的IFilter,例如PDF,就需要到Adobe的网站上去下载(http://www.adobe.com/support/downloads/product.jsp?product=1&platform=Windows)。
很不幸假如您的系统需要支持的文档没有IFilter,或您自己定义的文档个是,那么就需要研发自定义的IFilter了。到时候需要具体问题具体分析,这里就不多说了。
2-3、研发支持全文检索的存储引擎
2-1关注的是用户需求,可谓最贴近应用领域的研发;2-2关注的是存储的内容;这部分关心的就是存储本身了。简单的说当您的工作是研发一个存储管理系统,并且希望利用已存在的检索引擎(Search Service)那么您就需要和检索引擎本身交道了。
在介绍概念的时候提到过,这类交互分为两大类,一类是创建或维护索引时,另一个类是查询时。简单的看一下检索引擎本身,分为三部分:索引支持(Indexing Support)/索引引擎(Index Engine)和查询支持(Querying Support)/查找引擎(Search Engine)。在创建索引时,存储引擎主要和Indexing Support部分打交道,索引创建和维护的工作由Index Engine完成;在全文查询时,主要和Querying Support打交道,查询工作由Search Engine完成。
所谓支持就是实现一系列的接口并且调用一系列的接口,具体我也没干过,再说也是废话,就这些了。
3、全文查询指南
下面将比较周详地讲解以下在Exchange Server 2000平台下如何进行全文查询。
3-1、配置
缺省情况下Exchange下是不启动全文检索的功能,需要进行一些简单的配置。配置的过程就是为指定的存储空间(Public Store或Private Store)创建索引。
在Exchange提供的管理工具System Manager下,这些配置工作很容易完成,只有三个步骤。
a)选择特定的Public Store,执行“Create Full-Text Index”的功能,这是需要选择一个存放Index Catalog的目录。
b)刚刚创建完的全文索引是没有任何内容的,需要执行“Start Full Population”。这是个比较耗时的操作,不会立即产生效果,也正是因为在平时创建好了索引信息,在使用的时候才能够比较快速的定位记录。
c)然后还需要修改Store的属性中有关“Full-Text Index”的标签页中,修改其中的“Update Interval”属性项,选择自动更新索引信息的时间间隔,假如选择的是“Always run”,那么就会实时更新,当然系统开销也就比较大。当然也能够通过“Start Incremental Population”,以手动的方式,更新索引信息。
d)此外还需要在“Full-Text Index”标签页中,选择“This index is currently available for searching by clients”属性项,这样在查询过程中就会使用这部分创建的索引信息。
这一部分的功能我没有找到编程接口,所以现在只能够通过手动的方式配置。希望了解周详的内容,能够查阅MS相关的白皮书。
3-2、查询语句的语法说明
2-1中提到查询语句是没一个存储引擎所提供的,通常都是针对SELECT语句的扩展,下面将以Exchange的Store SQL为例讲解一下全文查询。
Exchange下全文查询的语句并不复杂,在Exchange Store SQL中提供了如下谓词(Predicate)加以支持,在WHERE子句(CLAUSE)中包含如下谓词,即能够继续全文检索:
CONTAINS:进行关键字的完整单词的匹配,格式为,
CONTAINS( [" propertyNAME " | * , ] ' searchspec ' )
假如“propertyName”部分*(Astrisk),则在任何属性中检索关键字,不包含"propertyName",则在消息或文档的正文部分检索关键字,下同。“searchspec”部分包含关键字,通配符*,例如'GOOD*';也能够包含多个关键字组合查找,支持逻辑操作符AND和OR。每个关键字需要用"(Quote)包含,否则会产生语法错误。
FREETEXT:和CONTAINS比较类似,但是能够对关键字中每一个单词或一组单词的多种变化形式进行模糊(Loosely)匹配,格式为,
FREETEXT( [" propertyNAME ", ] ' searchspec ' ) www_bitscn_com
这里需要强调的是,对于关键字变换形式的匹配,而不是关键字子串(Substring)的匹配,也就是说能够通过'rose'找到'roses',但是不能够通过'public'找到'republican'。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!