首页 > 单独文章 > 正文

MOSS物理基础架构之搜索服务

时间:2008-05-06 13:27:18 作者:officeba 【认证】
现在的企业门户越来越注重搜索功能了,所以为企业门户设计一个好的搜索系统结构是十分重要,这对企业用户快速获取内部资源,提高工作效率十分有利。而在设计这个索引系统的时候,首先要做的就是要先了解下索引服务器的工作过程:
1.首先,通过索引服务器来确认是要从哪个SSP(Share Service Provider)的配置数据库中获取哪些文件(以及何时整理),用实际操作来解释就是,用先设置爬网内容,即使用索引配置器设置爬网的爬网范围和爬网时间,这就是为什么当我们安装完MOSS之后,如果要让搜索中心搜索出东西就要先配置爬网的原因了
2.索引服务根据之前的爬网配置整理内容源并创建索引文件。这个索引文件就是爬网得到的全部结果的一张总表,后面的查询服务器就是通过这个索引文件来进行搜索。
3.索引服务将元数据和安全数据添加到搜索数据库中。这个部分主要还是针对如果是外网数据或者是其他应用服务器数据的情况下。
4.完成后的索引文件被分发到各个查询服务器上。由这点我们可以知道,为什么MS自称MOSS的搜索是很有效率的原因了,呵呵
5.如果原始的索引文件被进行修改的话(比如增量爬网),那么在完成后,索引服务器会把这个索引文件重新发送给各个查询服务器,对原来的索引文件进行替换,并更新。
通过这个过程的描述,我们就清楚了MOSS的索引服务器的工作过程了,当然,这并不是工作原理,要了解工作原理的话要从开发的角度去了解,大家可以看看这张图

图1-2

 

这张图就详细描述了索引文件是怎么来的,通过Fillter等筛选器获得相关资料,然后再进行chunks,检查完成后就会进入数据库,因为俺不擅长开发,这部分我就不多丢人了,呵呵~(2,3年没Coding了~)
另外再注意几点:
   1.每个SSP上只能有一个索引服务器,这是一一对应的关系
   2.如果索引服务器发生故障,那么搜索还是可以进行,只不过搜索的都是过时的资料,新的数据更新无法在查询出来,需要修复索引服务器生成新的索引文件后才能正常查询

查询服务器

相对于索引服务器,查询服务器主要的作用是查询,也就是使用索引服务器生成的索引文件进行搜索,其搜索过程如下:
1.用户在搜索页面输入查询条件,该查询请求由WFE获取
2.WFE收到用户的搜索请求后,把用户相关的搜索条件修改成查询语句或者查询请求,转发到查询服务器上
3.在WFE将查询请求发到查询服务器的同时,它还会到数据库服务器上的搜索数据库进行查询,以确定当前访问用户的许可权限,这也就是WFE的安全修整,以保证用户不会看到一些不该看到的数据
4.查询服务器对照索引文件进行查询内容,并将符合要求的数据筛选结果发送给WFE
5.WFE对结果进行安全修整
6.WFE将结果返回给用户

从这个过程我们不难看出,查询服务器的主要功能还是重在搜索这个部分,而MS提出的搜索解决方案也是把搜索的压力全部分离开,以保证搜索的高可用性,和高响应性,如下图

 图1-3
从这个解决方案我们可以看到,Web前段和查询服务器是一一对应的,这样做的目的是为了保证对用户的响应,以及高可用性,而这个负载均衡的负载数量则根据实际情况来定,MS的服务器一个特色就是横向扩张,2台服务器不够就三台,三台不够就四台,当然,这个是在只要性能的情况下,但大部分都是要考虑到资金情况,呵呵
另外前段服务器的负载均衡最好是用硬件来做,软件的性能会差些
至于途中最底层是爬外网的服务器,可以不考虑,只要考虑数据能让索引服务器获取即可,而关于这点,又会有许多问题,我们接着继续废话,呵呵
1.不同类型的文档资料
比如企业需要搜索PDF或者ACD的文档资料,并且希望能在IE上直接展现出来,关于这一块,现在已经有许多的iFilter来支持这些,按官方资料上的说法似乎有3百多个,也可以自己通过Windows 2003 Platform SDK,MOSS SDK (v1.2)进行二次开发
2.爬网的复杂性
现在的大部分网站都是使用图片验证码和Ajax,这就给我们进行外网爬网增加了难度,那么这里有一个叫做GrabberX工具可以帮你解决这个问题,这个工具安装完成之后会在MOSS的爬网设置上看到相应的填写项,然后针对以上两种方式的网站进行爬网,其所用的技术点如下:

 


第一部分主要是针对内容爬取,第二部分则是与MOSS的结合,如下图:

通过这个插件,我们就可以对这两种网站进行爬网了
3.关于索引的管理
MOSS本身自带的索引管理还是比较有限的,一方面是因为使用的是IE管理页面的方式,一方面是很多管理员不喜欢这种管理界面,他们更喜欢的是用应用程序,或者使用代码的形式进行管理,那么针对这个需求,有一个叫做Moss Search Admin的索引管理工具,这是一个应用程序,比起IE的管理方式,来得更为快捷,而且也有更多的管理内容,除了对SQL本身的,还可以对Lotus Notes,外网等数据源进行管理,如下图

4.其他功能
比如分词引擎,像baidu的“知道”,同义词查询,搜索结果等等~~~~
另外这里还随便介绍下MOSS Search 2008,这个搜索引擎是和MOSS分离开的,不像MOSS2007的搜索引擎不同,不是一个附带产品,这个模块是专门针对构建企业级的搜索解决方案,不过更详细的资料我却还没看过,呵呵~

相关文章

同类最新