NCCloud搜索服务器配置文档
NCCloud搜索服务器配置文档
NCCloud产品中的全文检索配置与以往NC6X系列的有所不同,搜索功能在NCCloud产品中已经默认运行自单独的搜索服务器上,与NCCloud的其他业务运行在不同的中间件上。下面是产品安装后,搜索服务器的配置和启动方法。
- NChome相关配置:
如下图是NCCloud产品的安装目录:

图1 NCCloud产品安装目录
如图2,我们启动NCCloud安装目录下sysConfig配置工具,可以看到如下“专属服务器”的标签中已经默认勾选并启用了搜索服务器,并且通过“127.0.0.1:5550”这个IP和端口进行访问(也就是说不启动对应的搜索服务器根本不能提供搜索服务!)。

图2 搜索专属服务器在NChome中的配置信息
搜索服务器的访问地址信息(地址和端口)也可以进行修改,比如NChome是水平集群的情况,我们需要把不同服务器上的NChome中的sysConfig搜索服务器访问地址配成同一个地址(不管应用服务器是单机还是水平集群,都只启用唯一一个搜索服务器),这种情况就不能简单的配置成127网段的地址,要配置多个服务器都能访问的IP地址。
例如:应用服务器在192.168.1.1和192.168.1.2这两个服务器上,搜索服务器的服务器信息可以统一配成192.168.1.1:5550端口或者192.168.1.2:5550中的一个地址。(无论水平集群搭建在几个服务器上,搜索服务器都必须只选择一个启动,所以多个Home中sysConfig中的配置信息要完全一致!同时要注意,启动的搜索服务器要与配置的地址相符。也就是你配置的搜索服务器信息是192.168.1.1:5550,你就要在这个服务器地址上启动搜索服务器)
- 搜索服务器的配置和启动:
- 搜索服务器位置:目前在NCCloud产品中,搜索服务器不需要另外下载,默认在“home\microserver\SearchServer”目录下就存放了搜索服务器。
- 搜索服务器启停方法:搜索服务器跟应用服务器目录结构相同,通过NC中间件进行启停并且只提供搜索功能的专属服务器(sh、stop.sh等命令进行启停,搜索服务器与应用服务器不同的是不能搭建集群或者用WAS中间件启动)。
- 搜索服务器如何提供搜索服务:搜索服务器只负责根据数据源信息建立索引,然后提供给应用服务器的业务查询使用,应用服务器通过上一节中“sysConfig配置工具”中“专属服务器”标签中搜索服务器配置的地址信息访问搜索服务器,这个访问过程是代码根据配置的地址自动把搜索请求发到搜索服务器上的。
注意:搜索服务器对于用户来说是无感的(用户不会访问搜索服务器的服务端口),搜索服务器也不关心应用服务器的结构(是否是集群等),它只是给应用服务器提供搜索服务。
- 搜索服务器需要的配置:
(注意:以下搜索服务器相关配置,都在microserver\SearchServer\bin\sysConfig中配置)
- 数据源配置:
搜索服务器的数据源要与应用服务器数据源配置一致,可以通过拷贝${NChome}\ierp\bin\prop.xml配置文件到搜索服务器中${NChome}\microserver\SearchServer\ierp\bin\prop.xml 的配置文件的方式得到应用服务器的数据源,但是替换文件的同时也会导致搜索服务器中其他信息也被替换成应用服务器的信息,需要进行更正,包括服务器信息,IP端口号等。更正需要在搜索服务器中的sysConfig进行修改(${NChome}\microserver\SearchServer\bin\sysConfig.sh或sysConfig.bat)更正后如下图:(注意:一旦数据库进行了迁移,搜索服务器要跟应用服务器一样进行数据库更新,如果数据库名称改变了,还要在后续的“搜索源分组”标签中进行更新保存)

图3 搜索服务器服务器信息配置
- 搜索源分组配置:
配置好数据源以后就可以进行全文检索相关功能的配置了,搜索需要去数据库查询表信息,因此本节需要给每个支持全文检索的表配置数据源。
如下图,左侧“搜索源分组”标签中,每个表中都需要选定数据源,点开每张表,然后点击“设置数据源”,为这张表配置搜索数据源,然后进行保存。

图4 搜索源分组为每张索引表配置数据源
- 搜索管理配置:
本节为每张表选择索引信息更新频率,目前搜索服务器是实时更新数据库表的索引信息的,这里的配置是一个补充功能,可以在搜索更新发生异常时进行一定补救。也是要将每个表都点开选择更新频率(一般建议使用默认配置),然后保存。

图5 搜索管理配置
- 启动和停止搜索服务器:完成以上搜索服务器相关配置,配置好以后就可以启动搜索服务器进行数据表索引的建立和提供搜索服务了。我们通过运行搜索服务器目录下(microserver\SearchServer)的sh(bat)命令启用搜索服务器,通过stop.sh(bat)停用搜索服务器,启用服务器之前如果搜索服务器目录下存在anteindex文件夹(表搜索需要的索引信息都在这个目录中),需要将其删除(删除anteindex文件可以删除旧的索引信息,进行新的初始化操作)再启动。
- 搜索服务器索引文件介绍:启动后观察SearchServer目录下后再次生成anteindex文件夹,如图所示,进入此目录会发现有几个文件,其中“_history”文件夹中存放的是搜索服务器接收到的来自应用服务器请求的搜索内容,进入这个文件以后会有若干个txt文件存储搜索历史记录。“bd”开头的一些文件每个文件对应一个数据库表,这个文件里会存储这个表相关的所有索引信息。

图6 搜索服务器索引文件介绍
由于搜索服务器需要去数据库查询数据并在本地存储索引信息,是一个耗时操作,因此我们需要一个标志告诉我们什么时候搜索服务器可以完成索引建立的这个操作并且开始支持搜索功能。如图,我们在bd_customer文件中看到如下信息,bd_customer_table#1564535656754.stamp文件是一个时间戳文件,我们看到这个文件以后就可以知道这个“bd_customer”这个表现在可以提供搜索服务了。时间戳文件的修改时间会随着用户新增数据实时更新,stamp文件的修改时间表示该表当前支持搜索的数据的截止时间。例如:stamp文件的修改时间是15:30,那么15:32新增的数据就是还没有支持搜索。

图7 每张表中的索引信息介绍
- 搜索服务器异常处理:
- 异常情况处理:服务器有可能会遇到宕机或者断网(连不上数据库服务器)的情况,这种情况下搜索服务器就没有办法实时去数据库更新表的索引信息了,这种情况需要停掉搜索服务器(注意是搜索服务器,不是NChome应用服务器,他们的启停解耦),然后删除搜索服务器的anteindex文件夹,再重启搜索服务器。这样可以恢复异常。
- 更换数据源的情况:如果说客户环境更换了数据源,那么搜索服务器的配置也要更换数据源,并且修改搜索相关配置,一定要确保数据源与应用服务完全一致。然后保存配置,删除搜索服务器anteindex文件夹(也就是删除过时的旧的索引文件),然后重启搜索服务器,搜索服务器就会按照新的配置信息去更新后的数据源生成索引文件。

浙公网安备 33010602011771号