APP下载

基于Solr与面向对象的全物资编码的研究应用

2019-09-10宋庆昌赵庆波王丽华

现代信息科技 2019年6期

宋庆昌 赵庆波 王丽华

关键词:全物资集中采购;全物资编码;云采购平台;Solr搜索引擎

中图分类号:TP391.41     文献标识码:A 文章编号:2096-4706(2019)06-0166-03

Keywords:centralized procurement of all materials;full material code;cloud procurement platform;Solr search engine

0  引  言

随着云计算、互联网技术的蓬勃发展,企业为了提升自身软实力,纷纷借助最新IT技术构建云采购平台,通过信息化实现供应链各节点的业务协同。对于大型集团企业而言,为了发挥整体管控和规模化采购的优势,越来越多地采用“全物资集中采购”模式,实现物资供应的高效率和低成本。但是由于集团企业的多业态并存、需采购的物资种类繁多、采购量大、全程管控涉及环节多等,如何构建科学合理的“全物品编码”体系,成为云采购平台建设需要研究的首要课题。

1  云采购平台建设中的全物资编码及面临的挑战

1.1  什么是全物资编码

全物资编码,是指采用全物资集中采购的大型集团企业,对生产建设所需要采购的全部物资和服务进行编码的总称。

全物资的特点是种类繁多,动态变化。大型集团企业通常包含多个业态,所需物资种类繁多,分类复杂,包罗万象。如小到一颗螺丝钉,大到机械设备,从有形的物资到无形的委外维修服务等等,涉及多个领域。

1.2  全物资编码面临的挑战

全物资编码是大型集团企业云采购平台建设的基础与核心,影响云采购平台整体性能和效率。因此,如何利用信息技术解决全物资编码的复杂性问题,是云采购平台建设中面临的挑战。

一是全物资编码初始方案的合理性和完整性问题,决定了云平台能否成功上线。物资编码是用户的共同语言。既要物资描述准确并易于理解,又要保证数据的一致性,避免一物多码问题。

二是编码的检索效率,决定了云采购平台上线后用户的体验满意度。要让用户能够在海量全物资编码中准确快速的定位所选的目标物资。

三是编码的动态可维护性,决定了云采购平台整体可用性与寿命周期。商品不断迭代升级,导致物资多变,需要建立可持续的编码动态维护机制。

2  传统的基于SQL查询的全物资编码解决方案

2.1  全物资编码的数据存储

传统的基于SQL查询的全物资编码大多采用“物资类别+物资目录”的模式。本文以“四级分类+物资目录”的数据库存储模式(如图1所示)进行分析。其中“物资分类表”为一到四类的树形结构,涵盖了全部的物资类别。物资目录表是具体的物资名称、规格型号等,是组织云采购平台数据的基础。

2.2  物资描述方面存在的问题

传统的基于SQL查询的全物资编码方案,对物资个性化描述全部集中在“规格型号”“备注说明”字段,描述单一,不能体現不同物资的个性化属性。

2.3  编码的动态维护问题

由于采用“规格型号”“备注说明”字段的单一性,且缺少对物资定义规则的系统约束,经常导致“一物多码”,导致物品编码差错率越来越高,可用性越来越差,对物资的数据分析准确性越来越低。

2.4  编码的检索效率问题

采用SQL查询中的like实现多条件的组合查询,大数据量检索效率低下,数据库压力大。

3  基于Solr全文检索和面向对象的编码方案

3.1  基于Solr的对全物资编码的影响分析

Solr在全文索引工具Lucene的基础上进行了封装和功能扩展,是一个高性能的、可独立运行的企业级全文搜索引擎服务器,能为多种数据格式提供索引、检索及分面浏览的功能[1]。Solr的主要特性有:强大的全文检索功能,高亮显示检索结果、动态集群,数据库接口和电子文档的处理,而且Solr有高度的可扩展性,支持分布搜索和索引的复制[2]。

引入Solr搜索引擎后,由Solr服务器来实现海量数据的快速检索,分擔了数据库的压力,因此,可以在数据库中增加更多的资源用于全物资编码的管理。

3.2  “面向对象”在全物资编码的应用

面向对象(Object Oriented)思想,是指一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。面向对象的概念和应用从最初的程序设计和软件开发向其他领域扩展。

按照面向对象的思想,形成了“类别+属性+属性值”基本编码模型。即把“全物资编码”视为一个“类”,这个类的成员变量包括:编码、名称、属性等,每一个具体的类别或物质目录被视为一个对象,每一个对象在继承父类公共属性的基础上,又拥有自己的个性化属性。如“汽车”除了具有“品牌”这个公共属性外,还有“排量”等个性化属性,不同的物资具有不同的属性,每个属性又有不同的属性值。这样通过“类别”“属性”和“属性值”的结合,实现了对不同物资的准确描述。

3.3  全物资编码数据存储

基于Solr强大的全文检索功能,采用了“类别+属性+属性值”基本编码模型(如图2所示)。

3.4  编码的动态维护机制

按照面向对象的思想,把日常的全物资编码的动态维护分为两个步骤:一是物资属性的维护,首先抽象出该物资类别的公共属性和个性化属性;二是对类别下的物品目录进行定义,即描述每个属性的属性值。

3.5  基于Solr的编码检索效率

通过Solr的全文检索功能,实现对用户录入的属性值进行快速的检索。

4  基于Solr全文检索编码方案的技术实现

选择Solr版本并下载解压;配置Tocmat作为Servlet容器;创建SolrHome作为Solr运行的主目录;配置solrconfig.xml;启动Tomcat。

4.2  在web中配置访问路径

新建Solr.property文件,并写入soler访问地址:

Solr.url=http://服务器地址:端口号/solr/core

4.3  SolrUntil的开发

开发统一的工具类,用于service调用。

4.4  数据库与分词库的初始与同步

修改data-config.xml文件;

建立数据库字段与schema.xml文件字段匹配关系,安装分词器。

5  结  论

基于Solr搜索引擎与面向对象的全物资编码方案的效果分析如表1所示,用Solr搜索引擎与面向对象思想结合,可有效解决大型集团企业云采购平台中全物资编码的描述难和维护难的问题。整合Solr搜索引擎的系统技术实现,解决了高并发条件下,非分布式数据库依赖SQL检索海量数据的效率瓶颈问题,实现百万级编码秒级检索。验证了大型ERP系统引入搜索引擎的必要性。

[1] 鲜国建,赵瑞雪.基于Solr的中文农业期刊文摘检索系统的构建研究 [J].现代图书情报技术,2011(6):51-58.

[2] 霍庆,刘培植.使用Solr为大数据库搭建搜索引擎 [J].软件,2011,32(6):11-14.

作者简介:宋庆昌(1964-),男,汉族,山东滨州人,高级工程师,本科,主要研究方向:港口云采购、财务与人力资源信息系统;赵庆波(1981-),男,汉族,山东烟台人,工程师,本科,主要研究方向:企业私有云与云采购平台;王丽华(1974-),女,汉族,山东烟台人,高级工程师,硕士研究生,主要研究方向:港口云采购平台与大数据建设。