基于ElasticSearch的智能搜索系统设计

2021-07-22 03:06张晓峰
江苏通信 2021年3期
关键词:信息检索调用检索

张晓峰

中国电信MSS集中运营江苏支撑中心

0 引言

随着企业信息量日渐增长,传统的关系数据库查询将不能满足更高的信息检索需求。数据主要使用关系数据库作为存储介质,在模糊查询时,无法使用数据库索引,对数据库的性能影响非常大,多次出现的数据库CPU异常暴增现象,基本都与大表数据的模糊查询有关。因此,必须建立起新的检索方式代替传统关系数据库查询。

搜索系统应支持用户快速检索信息,减少后续开发、运维成本。搜索系统的设计和实现的主要技术点包括:将传统的数据库查询转化为分词查询;将检索信息开发配置化。为了实现上述方案,本文提出了一种 “基于ElasticSearch的智能搜索系统”。

1 系统框架及流程

1.1 系统建设原则

本系统本着实用、先进、可扩展、经济性原则进行建设。(1)实用性,指能最大限度地满足实际工作要求;(2)先进性,指采用当今国内外先进操作架构,使新建立的系统能够最大限度地适应今后业务发展变化的需要;(3)可扩性展,指很方便地扩展检索范围,支持越来越多的信息检索;(4)经济性,指节约成本,提升效率。

1.2 搜索系统的主要应用场景

1.2.1 物料/供应商搜索场景

(1)将供应商、物料数据定时增量采集到索引库。支持供应商、物料快速、精确搜索。用户在统一搜索栏中输入查询关键字,就能查询到经过分词、全文检索的结果,与传统的模糊查询方式进行比较,用户体验明显提升,业务数据库压力也得到缓解。物料、供应商搜索数据采集流程如图1所示。

图1 物料、供应商搜索数据采集流程

(2)定时器轮询供应商、物料数据库。当发现数据有变更(根据时间戳判断)时,将数据抽取到搜索系统,经过数据转换后更新到索引库中。物料、供应商搜索流程如图2所示。

(3)用户输入关键字搜索供应商、物料数据,将调用搜索系统的供应商、物料搜索能力,搜索索引库数据,并将搜索结果展现。

1.2.2 合同搜索场景

(1)将合同数据定时增量采集到索引库,支持合同基本信息(合同编号、合同名称、合同对方名称、合同类型、签约类型、合同正文等)智能化、精确化的全文搜索。用户在统一搜索栏中输入关键字,就能查询到经过分词+全文检索的结果,提升用户体验。(2)定时器轮询合同数据库,当发现数据有变更(根据时间戳判断)时,将数据抽取到平台,经过数据转换后更新到索引库中。(3)用户输入关键字搜索合同数据,将调用基础搜索平台的搜索能力,搜索索引库数据,并展现搜索结果。

2 系统集成架构及其特点

2.1 系统特点

(1)开发配置化:在系统中通过对数据源、转换规则、数据采集策略进行简单的配置,即可实现对应业务信息的全文搜索。(2)服务标准化:利用该系统对所采集的数据进行分析、分词智能加工转换,以标准Restful服务接口对外提供服务调用。(3)调用简单化:对要使用搜索服务的系统,只需要嵌入调用接口,即可将查询结果以JSON方式高亮返回,简化系统调用。

2.2 系统集成架构

为提高MSS检索关键业务信息的速度和效率,搜索系统实现了以下核心内容:基础配置、系统管理、数据采集、搜索能力开放。系统集成架构如图3所示。

图3 系统集成架构

(1)基础配置:第一,数据源配置,为数据采集配置数据来源库,在转换规则中选择数据源;第二,转换规则配置,配置数据抽取规则及ES索引库信息;第三,索引库配置,ES索引库打开、关闭、删除,对索引库的访问权限做配置,只有拥有特定角色权限,才能查询索引库;第四,定时任务管理,配置数据抽取来源、转换规则、执行频率;第五,搜索能力开放,配置外部系统调用时的开关。(2)系统管理:提供用户及角色管理。(3)数据采集:根据转换规则将数据从关系型数据库抽取到索引库。系统主要模块之间的协同如图4所示。

3 系统采用的关键技术

系统采用的关键技术包括:(1)使用Spring-cloud分布式架构,原子化业务分割,减少单点故障。(2)使用JDBC技术,根据配置的数据库类型、IP、端口、SID、用户名、密码信息,完成搜索平台数据抽取源头配置,目前支持Oracle、MySQL等主流关系数据库的抽取。(3)使用ElasticSearch,存储从数据源头抽取到的数据信息。(4)使用Kettle抽取源端数据库数据,实现数据多平台抽取。(5)使用PDFBox读取PDF文件里的信息,转换、写入到索引库,实现非结构化信息检索。(6)使用Quartz技术,完成数据增量抽取定时器配置,实现平台配合化开发。

图4 系统主要模块协同

4 结束语

本文设计的智慧搜索系统,实现了数据库查询向全文搜索的转变,大幅度提高信息检索效率,也实现了信息检索工作的“三化”:(1)开发配置化,将需要增加的业务搜索范围进行简单的配置、开发,即可实现对新业务信息的全文搜索,实现开发配置化;(2)服务标准化,对采集过来的数据进行分析、转换,以标准Restful接口对外提供检索能力,实现服务标准化;(3)调用简单化,对需要使用搜索能力的系统,只需简单嵌入调用接口,即可将查询结果以JSON方式带高亮返回,实现调用简单化。

猜你喜欢
信息检索调用检索
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
基于系统调用的恶意软件检测技术研究
医学期刊编辑中文献信息检索的应用
在网络环境下高职院校开设信息检索课的必要性研究
专利检索中“语义”的表现
基于神经网络的个性化信息检索模型研究
利用RFC技术实现SAP系统接口通信
公共图书馆信息检索服务的实践探索——以上海浦东图书馆为例
国际标准检索