NC65搜索服务器使用指南
搜索服务器介绍
搜索服务器是一个微型的NC服务器,它的作用是把搜索服务从业务服务器(用户用来做业务的应用服务器)中独立出来。搜索服务器专门用来而且只用来提供搜索服务。搜索所需要的各个环节,包括从数据库爬取数据,建立索引,搜索得到结果,整个过程都在搜索服务器上完成,而业务服务器不再需要维护与搜索相关的各种服务,只需要将与搜索相关的调用请求发送到搜索服务器就可以了。
部署搜索服务器来提供搜索服务具有诸多优势,主要包括以下几点:
系统性能 |
NC65自带搜索服务 |
搜索服务器 |
搜索服务稳定性 |
每次系统重启,搜索服务都需要重新计算相关资源分配,容易出现不稳定的情况 |
搜索服务器一经启动可以一直提供搜索服务,重启应用服务器时无需重启搜索服务器,搜索服务极其稳定 |
应用服务器稳定性 |
搜索服务需要与各种业务操作抢占线程和内存资源,数据规模较大时会对应用服务器本身带来一定的压力 |
搜索服务器全部资源用来维护搜索服务,应用服务器不再需要提供相关的线程和内存资源,整个系统更加高效和稳定 |
相关问题定位 |
业务出问题需要打补丁时,需要重启环境,系统重启会使搜索服务重新计算相关资源分配,容易出现不稳定的情况。搜索服务出问题需要打补丁,也需要重启系统,重启时就需要暂停前台业务 |
业务出问题时只需要重启应用服务器,搜索服务器不需要重启。搜索服务需要打补丁时只需要重启搜索服务器,不用重启应用服务器,客户在前台仍然可以正常进行除搜索以外的业务操作 |
操作简便性 |
配置和使用比较复杂,需要手动点击重爬全部按钮 |
操作简单。配置完成后,一键启动自动建立索引,无需点击重爬全部按钮 |
搜索服务器相关资源下载
相关资源下载地址:
高性能架构补丁:https://XXX
需下载内容:
patch_v65高性能架构补丁.zip(需要下载最新日期版本)
搜索服务器相关资源地址:https://XXX
需下载内容(NC65搜索服务器目录下):
zip(搜索服务器的代码);
NC65业务服务器支持搜索服务器补丁.zip(需要下载最新日期版本);
zip(windows系统下载此项);
tar.gz(Linux系统下载此项);
搜索服务器源码:“zip”
介绍:源码zip包,无论是windows环境还是linux环境,都是这一份代码。
windows环境下解压即可使用,不需要其他额外操作。
Linux环境下,解压后需要运行命令赋予相关执行权限。具体步骤:
解压压缩包,进入搜索服务器代码根目录(雷同Nchome的代码根目录,就是拥有bat或者startup.sh的那一级目录);
运行命令:./root.sh;
运行命令:chmod –R 755 ant/;
运行命令:chmod –R 755 bin/;
运行命令:chmod –R 755 *.sh;
IBM64位JDK:“zip”,“64bitIBMJDKLinux.tar.gz”
介绍:分别对应windows环境和linux环境的64位IBM的JDK,从名字区分。
服务分流补丁:“NC65业务服务器支持消息服务器补丁zip”;
介绍:这个补丁打在业务服务器上,能够使业务服务器(NC或WAS中间件)能够知道搜索服务器的存在,并将搜索服务转发过去。
搜索服务器相关资源注意事项:
搜索服务器解压后可以直接使用,无需安装。
作为轻量级的nc服务器,搜索服务器也需要java jdk才能运行。推荐使用网盘中提供的jdk,也是解压后即可使用。
专属服务器与客户端分流补丁要打在应用服务器上。如果应用服务器是水平集群,拥有多套代码,服务分流补丁需要在每套代码都打上。
对于windows系统的搜索服务器,需要拷贝一份JDK文件夹到搜索服务器目录下,文件夹更名为ufjdk。
搜索服务器配置方法
搜索服务器解压后,需要进行以下几个方面的配置;
一. 数据源配置
搜索服务器的数据源需要和业务服务器保持一致,无论是名称还是IP或者端口都需要一模一样。关于数据源的配置有以下两种方法
方法一(推荐):把业务服务器上,nchome/ierp/bin这个文件夹下的prop.xml文件,拷贝覆盖到搜索服务器(SearchServer)的nchome/ierp/bin的文件夹下。
方法二:在搜索服务器的sysconfig的数据源页签手动配置,如下图所示,相关信息和数据源名称与业务服务器配置的一模一样就可以了。就是保证连接的数据源是同一个,而且需要名称也一模一样。
二. 服务器配置
搜索服务器是一个微型的NC服务器,所以也需要进行服务器的配置。具体配置过程如下图所示。需要关注的配置内容为以下几点:
服务器类型。Sysconfig选择【服务器信息】页签,选择UAP Server的单服务器。
JAVA_HOME路径。选择应用服务器使用的JDK路径,或者下载的64位JDK的解压路径。
虚拟机参数。-Xmx这个参数推荐使用2048m或者4096m,根据服务器资源自行选择。
协议选择。新增一行,协议类型选择HTTP,IP地址选择本台服务器的地址,端口选择一个本机没有被占用,可以正常启动服务的端口。
做完这些配置以后,点击保存按钮,进行保存。
可能出现的问题:
如果在启动搜索服务器时,卡在”start servers with domain configuration”,无法启动。请尝试删除“协议定义”配置服务器ip地址的这一行。新增一行,选择HTTP协议,确认IP地址没有配置错误或者IP地址缺省不填,端口填写一个没有被占用的端口。点击保存重新启动。
三. 搜索相关配置
搜索需要为一些表配置数据源,或者选择一些分词方式等等。搜索配置有以下两种方法。
方法一(推荐):把业务服务器上,nchome/ierp/bin/searchmetadata这个文件下的schedule-config-file.xml和source-group-config.xml文件,拷贝覆盖到搜索服务器(SearchServer)的nchome/ierp/bin/searchmetadata的文件夹下。
如果该环境以前没有配置过搜索,或者此方法不生效,请使用方法二。
方法二:此方法的具体步骤为:
在sysconfig的【搜索源分组】页签下进行配置,为需要使用到搜索功能的数据表选择正确的数据源。
在【搜索管理】页签下,点开每一张表的配置页面,然后点击一次保存按钮。
以上就是两种搜索配置的方法,配置过程中的注意事项为以下几点:
1). 如果要新增一张使用搜索功能的数据表,除了在【搜索源分组】页签中配置这张表的相应信息外,也需要到【搜索管理】页签下选择这张表点击保存按钮。
2). 在【搜索管理】页签下,索引更新任务配置中,看各个表的索引定时更新功能需不需要调整。由于用户在前台进行数据增删改的时候,索引会自动更新,这里的定时更新为一个补偿功能。
两页签的相关配置如下面两图所示。
四. 搜索服务器的启动与索引建立
搜索服务器启动步骤:
如果搜索服务器目录下有anteindex文件夹,删除它。
搜索服务器作为一个NC单机,可以直接在搜索服务器目录下,命令行运行./startup.bat(linux下为./startup.sh)。
这个版本的搜索服务器可以自动建索引,不再需要手动点击重爬,也不需要手动进行其他任何操作。搜索服务器启动后,索引就自动开始建立,如果数据量比较大的话,建索引需要一定的时间,可以等几分钟。
搜索服务器启动以后,除非断网、断电或者修改数据源,否则搜索服务器都不需要重启。重启应用服务器时,也不需要重启搜索服务器。
五. 在应用服务器上打补丁
网盘资源上的” patch_v65高性能架构补丁.zip”和” NC65业务服务器支持搜索服务器补丁.zip”,依次打在应用服务器上,也就是用户正式环境上面。如果业务服务器有由多份代码组成的水平集群,那么每份代码都需要打上这个补丁。
打补丁的具体步骤:
备份。打补丁前可以进行一下文件夹备份。补丁涉及到的文件夹有:
nchome/bin;
nchome/ierp;
nchome/external;
nchome/ webapps;
nchome/modules/uapss;
nchome/modules/uapfw;
打补丁前可以先把这些文件夹进行备份,方便进行还原。
复制粘贴。复制补丁中这些文件夹,直接覆盖粘贴到应用服务根目录下。如果是水平集群,每份代码都需要进行这项操作。
配置。打完补丁后需要进行配置,配置文件为:
nchome/ierp/bin/servicedeploy文件夹下dedicateserver.properties文件。
在这个文件中加入这一行代码:
search_framework http://127.0.0.1:9065
直接把这个IP地址和端口改为搜索服务器的IP地址和端口就可以了。
改完这些,就可以重启业务服务器,整个配置工作结束。
附录 搜索服务器相关问题解答
v 如何检验SysConfig中搜索相关的配置是否已经保存?
在“搜索源分组”、“搜索管理”配置和保存完以后,需要检查一下配置的内容是否已经保存了,路径是搜索服务器代码ierp/bin/searchmetadata目录下。如下图所示,标红的两个文件保存以后会进行更新,查看修改日期如果更新了表示搜索的配置保存成功了,就可以进行下一步操作了。
v 搜索服务器的启动与原来NC产品搜索服务有何不同?
搜索服务器的启动方法与NC单机完全相同,启动顺序不分先后,启动搜索服务器之前要删除根目录下的anteindex文件夹(重启搜索服务器也要删除此文件夹,删除整个文件夹而不是anteindex中的内容!)。很多用户说搜索失效,其实是因为连续启动了两次搜索服务器,而中间没有删除anteindex索引文件夹。注意:启动搜索服务器以后,不需要像NC65内置的搜索一样重爬全部!只要等待索引建立完毕就可以搜索了,不需要进行任何操作。
v 如何确定索引建立完毕可以开始搜索了?
Anteindex文件夹是保存索引信息的文件夹,如图所示路径下分别保存了每个不同数据表的检索信息,如bd_customedr表示的是客户信息等。
进入文件夹内部,如果只有_state文件和数字如0、1、2等几个文件夹,说明索引没有建立完成,一旦出现”.stamp”结尾的文件,表示这个表的索引建立完成了,如图bd_customer表的索引建立完成了,并且完成的时间是”.stamp”结尾的文件的修改时间。每次索引更新这个时间都会进行更新。
当所有的表中的stamp文件都生成了,说明索引建立完毕可以开始搜索了。
v 如何确定搜索的请求被转发到了搜索服务器上?
搜索服务器anteindex
cServer\_history路径中保存了所有搜索内容的记录。客户进行搜索以后,在此文件中有客户搜索内容的记录,说明业务服务器已经可以将请求发给搜索服务器了。
v 搭建搜索服务器以后原来业务服务器上的搜索是否还要配置?
搭建了搜索服务器以后,跟搜索相关的业务被转发到搜索服务器上操作,原来业务服务器上的anteindex检索文件夹已经没有作用了,也不再需要在业务服务器上进行任何搜索配置了。搜索一旦出问题,直接在搜索服务器上配置就可以了。
v 什么情况下需要重新配置搜索服务器?
搜索服务器需要去数据库中查询和保存数据,因此,一旦数据库做了修改,搜索服务器就需要重新配置数据源,删除旧的anteindex文件夹,然后进行重启。
v 如何NC65解决模糊搜索内容过长搜索不到的问题?
1.找到对应的配置文件,路径如图所示,将maxGramSize的值修改成为需要的长度即可。建议:搜索字长请不要过长,否则会占用大量的存储空间,降低搜索效率。一般建议不25.
2.修改完配置文件以后,需要删除anteindex文件,重启搜索服务器。