本文来自获得《2021MongoDB技术实践与应用案例征集活动》入围案例奖作品
作者:张先明
1. 背景介绍
成立于上个世纪 50 年代,有 60 多年历史的某中心(以下简称“中心”)所提供服务的属性是软科学;中心服务提供的产品是大量面向专业的,高质量的专业技术报告。如何更好的利用这些海量的文献以促进工作发展,是一个中心要面对的问题。
为此,信息化部门开始着手建设“信息资源共享系统”(以下简称“系统”)。系统的建设目
标与意义是:
-
在单位内部,开展不同部门之间的信息资源的共用,以便达到合理的资源配置;
-
提高信息流动速度,降低获得成本;实现内部信息资源的通畅,提高信息资源利用率;
-
实现中心内部信息共享的积累与充分共享为最终目标。
2. 系统使用技术
2.1 系统建设面临的要点
经过调研,中心认为可以借鉴互联网用户经常使用的百度,搜狗这样的网络检索系统。互联网用户检索出来的是各类网页,而本系统用户检索出来的是中心所拥有文献。基于这一点,我们要考虑如下几个要点:
1.如何把中心大量的文献保存在一个数据平台当中,这个平台不仅要完好的保存文献,还要提供高效的查询,导出服务。
2.一个文献往往有几万个汉字,如何让用户以最快的速度了解这个文献的内容,以判断内容是否符合用户的要求。
用户检索一方面要能找到相关的文献,另一方面检索的速度要符合通行的标准:对用户请求的响应时间不超过 3 秒。
从这几个要点来看,传统的工程建设方法(比如基于关系型数据库)已经力不从心,所以这里引进符合要求的大数据以及互联网等技术。
2.2 系统建设所使用技术
系统建设所使用的技术有如下几项:面向大数据库存储的文档数据库MongoDB;提高了检索质量,有利于前后端分离的微服务 SpringBoot,以及对文献进行文字处理的自然语言处理技术(NLP)。下面大致介绍一下这几项。
2.2.1 MongoDB 数据库
本系统部使用的数据库版本为3.6,部署服务器操作系统windows server 2008。由于服务器硬件和操作系统软件性能质量都比较一般,数据库在系统运行中的性能发挥的不是最优。
2.2.2 微服务以及 SpringBoot
微服务的最重要的特征是由于服务较小且可独立部署,因