产品数据集成方法、装置、计算机设备及存储介质与流程

文档序号:18301882发布日期:2019-07-31 10:15阅读:154来源:国知局
产品数据集成方法、装置、计算机设备及存储介质与流程

本发明涉及云存储领域,尤其涉及一种产品数据集成方法、装置、计算机设备及存储介质。



背景技术:

现今的金融产品数据主要以结构化的数据形式存储在关系型数据库中,采用将标准化产品单元和库存量单位分开存储的数据结构,导致在数据库中存储单个产品的表数量众多,以致查询速度缓慢,且实现复杂排序和属性筛选困难,故需要一种优化的数据结构存储金融产品数据,以提升查询速率,以及便于进行复杂排序、筛选和索引。



技术实现要素:

基于此,本发明提供一种产品数据集成方法、装置、计算机设备及存储介质,用于提升产品数据的查询速度,以及对存储的数据进行复杂排序、筛选和索引,提升了用户体验。

一种产品数据集成方法,包括:

获取预设的搜索引擎框架;

生成所述搜索引擎框架的索引,并将所述索引的数据结构类型定义为嵌套结构;

获取产品数据,所述产品数据包括标准化产品单元以及与所述标准化产品单元关联的至少一个库存量单位;

以所述标准化产品单元为中心对象,且以所述库存量单位为嵌套对象,将所述库存量单位内嵌入所述标准化产品单元中,生成数据结构类型为嵌套结构的所述产品数据;

将嵌套结构的所述产品数据填充至所述搜索引擎框架的所述索引中。

一种产品数据集成装置,包括:

引擎获取模块,用于获取预设的搜索引擎框架;

生成定义模块,用于生成所述搜索引擎框架的索引,并将所述索引的数据结构类型定义为嵌套结构;

数据获取模块,用于获取产品数据,所述产品数据包括标准化产品单元以及与所述标准化产品单元关联的至少一个库存量单位;

嵌套模块,用于以所述标准化产品单元为中心对象,且以所述库存量单位为嵌套对象,将所述库存量单位内嵌入所述标准化产品单元中,生成数据结构类型为嵌套结构的所述产品数据;

填充模块,用于将嵌套结构的所述产品数据填充至所述搜索引擎框架的所述索引中。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述产品数据集成方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述产品数据集成方法的步骤。

上述产品数据集成方法、装置、计算机设备及存储介质,将产品数据库中零散的、分布在不同表中的结构化的产品数据,通过嵌套结构的数据形式,将所述结构化的产品数据整合为以一个单品为一个文档对象进行存储的嵌套结构的产品数据,并将嵌套结构的所述产品数据存储至预设的搜索引擎的索引中,且还对嵌套结构的所述产品数据进行复杂排序、建立基于关键词的倒排索引,大大提升了用户检索产品信息的效率,增强用户体验。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中产品数据集成方法的一应用环境示意图;

图2是本发明一实施例中产品数据集成方法的一流程图;

图3是本发明一实施例中产品数据集成方法的步骤s50的流程图;

图4是本发明另一实施例中产品数据集成方法的流程图;

图5是本发明另一实施例中产品数据集成方法的流程图;

图6是本发明另一实施例中产品数据集成方法的流程图;

图7是本发明一实施例中产品数据集成装置的示意图;

图8是本发明一实施例中产品数据集成装置的填充模块的示意图;

图9是本发明另一实施例中产品数据集成装置的示意图;

图10是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的产品数据集成方法,可应用在如图1的应用环境中,其中,客户端(计算机设备/终端设备)通过网络与服务器(服务端)进行通信。首先获取预设的搜索引擎框架,进一步地,生成所述框架的索引,并定义所述框架的数据结构类型为嵌套结构,进一步地,获取产品数据,以所述产品数据中的标准化产品单元为中心对象,以所述产品数据中的库存量单位为嵌套对象,生成嵌套结构的所述产品数据,并将嵌套结构的所述产品数据填充至所述索引中。其中,客户端(计算机设备/终端设备)包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种产品数据集成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:

s10,获取预设的搜索引擎框架。

其中,所述搜索引擎是指根据一定的策略、运用特定的计算机程序从数据库(包括本地服务器的数据库、互联网上的数据库或/和第三方服务器的数据库)搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索的相关信息展示给用户的应用程序。可理解地,所述搜索引擎框架即为为未建立索引、未定义进行存储的数据结构类型的、且尚未存储数据的初始的搜索引擎。

所述搜索引擎可以根据需求预先设定,作为优选,所述搜索引擎为elasticsearch搜索引擎,也即由elasticsearch提供的搜索引擎;所述elasticsearch为基于lucene的搜索服务器,其可提供基于restfulweb接口的分布式多用户能力的全文搜索引擎,即上述elasticsearch搜索引擎。优先地,获取所述elasticsearch搜索引擎框架,以便在后续步骤中根据需求建立该elasticsearch搜索引擎的索引。

s20,生成所述搜索引擎框架的索引,并将所述索引的数据结构类型定义为嵌套结构。

其中,所述索引是指单独的、物理的对所述搜索引擎中的数据进行排序以及存储的数据库;所述数据结构是指在所述索引中存储的数据的数据结构,也即所述索引存储和组织数据的方式;所述嵌套结构是指,以一个对象为中心,内嵌多个子对象而成的数据结构,所述对象和所述子对象均可以为一组数据,或多组数据的集合。

在本实施例中,所述搜索引擎为elasticsearch搜索引擎,所述索引相当于所述elasticsearch搜索引擎的数据库,可理解地,所述elasticsearch搜索引擎的数据库为文档型数据库,所述索引可以定义所述elasticsearch搜索引擎的数据库的文档类型,也即可以定义存储于所述索引中的数据的数据结构。具体地,首先生成所述搜索引擎的索引,在一实施例中,用于生成索引的语法如下:puthttp://host:port/index_name/+index_configuration,其中,index_name是生成的所述索引的名字,indiex_configuration是向elasticsearch搜索引擎的服务器传递的请求负载的主体,数据格式是json,用于定义索引的配置信息,所述配置信息包括映射节(mapping),和配置节(setting);其中,定义所述索引的所述映射节时,即可定义所述索引的数据结构。

在生成所述搜索引擎的索引后,进一步地,定义所述索引的数据结构为所述嵌套结构,也即在定义索引的映射节(即mapping)时,在mapping字段中定义所述索引的文档类型为以一个文档对象为中心,内嵌多个子对象的文档类型,即可定义所述索引的数据结构为所述嵌套结构。

生成所述搜索引擎的索引,即可以建立用于存储用户所要查询或检索的数据的数据库,以便于在步骤s30中存储从产品数据库中读取的产品数据;定义所述索引的数据结构为嵌套结构,以便于在步骤40中将所述产品数据从结构化数据转化为所述嵌套结构的数据并进行存储。

s30,获取产品数据,所述产品数据包括标准化产品单元以及与所述标准化产品单元关联的至少一个库存量单位。

其中,所述产品数据是指产品的属性值和特性等,比如,当产品为手机时,所述产品数据包括但不限于类型、规格、尺寸、颜色等,又如,当产品为金融产品时,所述产品数据包括但不限于起购金额、开售日期、利率、购买期限等;所述产品数据一般存储以结构化的数据形式存储在关系型数据库中,

所述标准化产品单元(spu)为产品信息聚合的最小单位,即一组可复用、易检索的标准化信息的集合,该集合包含了产品的特性,一个所述标准化产品单元代表一个产品的最小单元,比如,当产品为手机时,一个所述标准化产品单元可以为手机品牌+手机型号,如iphonex,所述iphonex即为手机(产品)的最小单元。

所述库存量单位为保存库存控制的最小可用单位,也即一个产品的最小单元的最小零售单位,所述库存量单位包含了产品的属性、属性值以及特性,比如,当产品为手机,该产品的最小单元为iphonex时,一个所述库存量单位为白色、4.5寸、64g内存,也即一个产品(手机)的最小单元(iphonex)的最小零售单位。

可理解地,所述产品数据包含所述标准化产品单元(数据)和所述库存量单位(数据),但所述标准化产品单元和所述库存量单位均是以零散的形式存储,在一实施例中,所述产品数据存储在关系型数据库中,所述产品数据在所述关系型数据库中是以表的形式存储,每一所述标准化产品单元和每一所述库存量单位在所述关系型数据库均存放在不同的表中,或/和存放在相同的表里的不同的行(列)中,故所述标准化产品单元和所述库存量单位之间并无数据结构上的连接关系,而是以零散的形式存储。

获取所述产品数据,以供在步骤s40中以所述产品数据生成嵌套结构的所述产品数据。在一实施例中,所述产品数据存储在关系型数据库中,此时,可以通过编程语言从所述产品数据库中读取所述产品数据。比如,所述编程语言为java,首先与所述关系型数据库建立连接,进一步地,预编译sql(结构化查询语言)语句,使参数化后的所述sql语句可以发送至所述关系型数据库中,之后,执行可读取数据的sql语句,从所述关系型数据库中读取出所述产品数据。

s40,以所述标准化产品单元为中心对象,且以所述库存量单位为嵌套对象,将所述库存量单位内嵌入所述标准化产品单元中,生成数据结构类型为嵌套结构的所述产品数据。

可理解地,所述嵌套结构为以一个对象为中心,内嵌多个子对象而成的数据结构,所述中心对象即为在所述嵌套结构中作为中心的对象,所述嵌套对象即为在所述嵌套结构中被内嵌入所述中心对象中的子对象。

在一实施例中,所述搜索引擎为elasticsearch搜索引擎,所述搜索引擎的的数据库为文档型数据库,也即所述索引中的数据是以文档的形式进行存储,在所述索引中存储的数据为多个文档对象的集合,每一个所述文档对象即为在所述索引中存储的数据的其中一条数据。

在本实施例中,以所述产品数据中的标准化单元为嵌套结构的中心对象,以所述库存量单位为嵌套对象,将所述嵌套对象内嵌入所述中心对象中,生成文档对象,此时,每一所述文档对象(即每一条数据)即为一个产品的单品(也即一个产品的一个标准化产品单元+一个库存量单位,比如产品为手机,一所述单品为iphonex,白色、4.5寸、64g内存),可理解地,所有所述文档对象(也即所有所述单品)的集合即为生成的所述嵌套结构的所述产品数据。以下以金融产品为例,列举一个文档对象的生成过程:产品为金融产品,所述产品数据即为金融产品的数据,所述产品数据中的一标准化产品单元为某基金,所述产品数据的中的一所述库存量单位为该基金的起购金额、开售日期、利率、购买期限等,将该基金的起购金额、开售日期、利率、购买期限等数据(库存量单位)内嵌入该基金数据(标准化产品单元)中,生成一个单品(文档对象),该单品即为该基金+该基金的起购金额、开售日期、利率、购买期限等。

本实施例将零散的、在数据结构上无连接关系(或关联关系)的所述标准化单元和所述库存量单位以嵌套的方式,使所述标准化单元和所述库存量单位在数据结构上结合在一起,也即将产品数据转化为所述嵌套结构后,所生成的嵌套结构的所述产品数据中的每一个文档对象(即每一条数据)即为一个单品,其包含了一个单品的所有信息,以嵌套结构的所述产品数据的形式将产品数据存储至所述索引中,在进行检索时,只需要检索一条数据,即可获取一个单品的所有信息,大大提升了检索效率,减少服务器资源在检索上的浪费,以提高服务器的运行速度,释放更多内存,增强用户体验。

s50,将嵌套结构的所述产品数据填充至所述搜索引擎框架的所述索引中。

具体地,可以将嵌套结构的所述产品数据先缓存至javamap对象或jsonobject对象中,进一步地,调用所述索引的存储接口(用于调用所述索引的存储功能的接口),将缓存在javamap对象或jsonobject对象中的嵌套结构的所述产品数据通过所述存储接口传送至所述索引,即完成将将嵌套结构的所述产品数据填充至所述搜索引擎框架的所述索引中。通过将检索负载引入至所述搜索引擎,并通过所述索引检索数据,可以降低产品数据库的负载压力,且用户即通过所述索引快速地检索到用户想要查询或检索的产品信息,增强用户体验。

本实施例将产品数据库中零散的、分布在不同表中的结构化的产品数据,通过嵌套结构的数据形式,将所述结构化的产品数据整合为以一个单品为一个文档对象进行存储的嵌套产品数据,并将嵌套结构的所述产品数据存储至预设的搜索引擎的索引中,大大提升了用户检索产品信息的效率,增强用户体验。

在一实施例中,如图3所示,所述步骤s50包括:

s501,将嵌套结构的所述产品数据推送至开源流处理平台的消息队列。

其中,所述开源流处理平台是指对开源的数据流进行处理的平台,所述消息队列为在数据传输过程中对数据进行缓存的容器。作为优选,选取kafka作为所述开源流处理平台,所述kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。

具体地,首先获取嵌套结构的所述产品数据,并将嵌套结构的所述产品数据推送至所述开源流处理平台(即kafka)中对进行传输的数据进行缓存的消息队列中,以供在步骤s502中将所述消息队列中的嵌套结构的所述产品数据填充至所述索引。

s502,通过预设的开源数据收集引擎,将所述消息队列中的嵌套结构的所述产品数据填充至所述索引。

其中,所述开源数据收集引擎是指能够进行实时数据传输的开源的数据收集引擎,可理解地,所述开源数据收集引擎可以根据需求预先设定,作为优选,预设logstash作为所述开源数据收集引擎,所述logstash可以统一过滤来自不同源的数据,并根据预设的数据传输规则将来自不同源的数据传输至预设的目的地。

在本实施例中,通过所述开源数据收集引擎(即所述logstash)订阅所述开源流处理平台的消息队列中的嵌套结构的所述产品数据,并以日志的形式获取所述消息队列中的嵌套结构的所述产品数据,进一步地,通过调用所述索引的存储接口,将获取的嵌套结构的所述产品数据填充至所述索引。本实施例通过将嵌套结构的所述产品数据缓存至所述开源流处理平台的消息队列中,可以实现嵌套结构的所述产品数据的异步填充。

在一实施例中,如图4所示,所述步骤s50之后,还包括:

s60,根据预设的产品排序规则,对所述索引中的嵌套结构的所述产品数据进行复杂排序。

其中,所述产品排序规则可以根据需求预先设定,所述产品排序规则包含产品的排序条件,以及各所述排序条件的优先级。比如,当所述产品为金融产品时,所述排序条件包括但不限于产品价格、产品热度、发布时间、相关度等,所述产品排序规则可以为:第一优先级的排序条件为产品价格,第二优先级的排序条件为发布时间、第三优先级的排序条件为产品热度;也即根据该产品排序规则对嵌套结构的所述产品数据进行排序,即为先按价格的高低进行排序,再按发布时间的远近进行排序、再按热度的高低进行排序,在一实施例中,所述排序条件还可以根据用户需求调整所述排序条件的排序顺序,如排序条件为价格高低,可以根据用户需求调整所述排序条件是将嵌套结构的所述产品数据由价格从高到底排序,亦或是将嵌套结构的所述产品数据由价格从低至高排序。

具体地,可以通过调用所述索引的进行排序的接口,根据所述产品排序规则,将需要进行复杂排序的排序条件传入至所述索引,以将嵌套结构的所述产品数据进行复杂排序。通过对嵌套结构的所述产品数据进行复杂排序,可以便于用户在检索时按照排序条件进行检索,提高检索效率,增强用户体验。

在一实施例中,如图5所示,所述步骤s50之后,还包括:

s70,对嵌套结构的所述产品数据进行分词,生成嵌套结构的所述产品数据的关键词。

可理解地,嵌套结构的所述产品数据以文档的形式进行存储,也即嵌套结构的所述产品数据包含多个所述文档对象,每一所述文档对象均包含多项产品信息,比如,当所述产品为金融产品时,一文档对象中包含有:某基金以及该基金的基本信息,该基金的起购金额、开售日期、利率、购买期限等信息。可理解地,每一所述文档对象包含的产品信息中,均有可以代表着该产品以及该产品信息的关键词,如上述列举的例子,该关键字即为某基金。

因此,在本实施例中,对嵌套结构的所述产品数据中的每一文档对象所包含的产品信息进行分词,生成能代表所述文档对象所包含的产品信息的关键词,并获取所有生成的所述关键词,以供在步骤s80中根据所述关键词生成倒排索引表。

s80,根据所述关键词生成倒排索引。

其中,所述倒排索引是指实现根据字词快速获取文档对象的一种具体存储形式,通过所述倒排索引,即可根据属性值确定文档对象的位置;所述倒排索引包括关键词词典和倒排列表,所述关键词词典是由嵌套结构的所述产品数据的所有关键词构成的字符串集合,所述关键词词典中每条索引项记载所述关键词本身的一些信息以及指向所述倒排列表的指针,所述倒排列表记载着出现过某个关键词的所有文档对象,以及该关键词在出现过该关键词的文档对象中的位置信息,可理解地,根据所述倒排列表,即可获知哪些文档对象包含某个关键词。

在本实施例中,所述属性值即为所述关键词,具体地,根据所述关键词,获取所有出现过该关键词的文档对象在所述索引中的位置信息,以及获取所述关键词在出现过所述关键词的文档对象中的位置信息(也即在出现过所述关键词的文档对象中,所述关键词在该文档对象中的位置),并将获取的所有所述位置信息,根据所述位置信息与所述关键词的映射关系,生成所述倒排列表和所述关键词词典,所述倒排列表和所述关键词词典即组成所述倒排索引。

本实施例通过将嵌套结构的所述产品数据中的所有用于检索字段进行分词,生成所述关键词,并以此生成所述倒排索引,能够达到准实时的检索效果,大大提升了检索效率,增强了用户体验。

在一实施例中,如图6所示,所述步骤s50之后,还包括:

s90,接收用户发送的包含检索参数的检索指令。

其中,所述检索指令可以由用户通过点击预设的按钮发送至服务器,所述检索参数是指所述用户输入的关键字词,比如,当产品为金融产品时,所述检索参数可以为某基金,某期货或某债券等。接收所述用户发送的包含检索参数的检索指令,以供在步骤s100中根据所述检索参数检测嵌套结构的所述产品数据中是否存在包含所述检索参数的数据。

s100,遍历所述索引中的嵌套结构的所述产品数据,检测所述索引中的嵌套结构的所述产品数据中是否存在包含所述检索参数的数据。

可理解地,所述索引中的嵌套结构的所述产品数据由多个文档对象组成,每一所述文档对象均为一个单品(即一个产品的一个标准化产品单元+一个库存量单位),,也即一个所述文档对象包含一个单品的所有产品信息,可理解地,遍历所述索引中的嵌套结构的所述产品数据,也即遍历所述索引中的嵌套结构的所述产品数据中的每一文档对象,检测是否存在包含所述检索参数的所述文档对象,当存在包含所述检索参数的所述文档对象时,进入步骤s110,将包含所述检索参数的文档对象展示在当前的显示界面上;当不存在包含所述检索参数的所述文档对象时,证明所述用户所要检索的产品并不存在于所述索引中的嵌套结构的所述产品数据中,此时,确认所述索引中不存在所述用户想要检索的产品。

s110,当所述索引中的嵌套结构的所述产品数据中存在包含所述检索参数的数据时,将包含所述检索参数的数据展示在当前的显示界面上。

当所述索引中的嵌套结构的所述产品数据中存在包含所述检索参数的数据时,也即存在包含所述检索参数的所述文档对象时,代表包含所述检索参数的文档对象即可能为所述用户想要检索的产品数据,此时,将所有包含所述检索参数的所述文档对象展示在当前的显示界面上,供所述用户查看。

本实施例通过检索嵌套结构的所述产品数据,也即检索所有包含一个单品所有信息的所述文档对象,即可以快速地获取所述用户想要检索的产品数据,提升检索速率,增强用户体验。

本发明将产品数据库中零散的、分布在不同表中的结构化的产品数据,通过嵌套结构的数据形式,将所述结构化的产品数据整合为以一个单品为一个文档对象进行存储的嵌套产品数据,并将嵌套结构的所述产品数据存储至预设的搜索引擎的索引中,且还对嵌套结构的所述产品数据进行复杂排序、建立基于关键词的倒排索引,大大提升了用户检索产品信息的效率,增强用户体验。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种产品数据集成装置,该产品数据集成装置与上述实施例中产品数据集成方法一一对应。如图7所示,该产品数据集成装置包括引擎获取模块11、生成定义模块12、数据获取模块13、嵌套模块14和填充模块15。各功能模块详细说明如下:

所述引擎获取模块11,用于获取预设的搜索引擎框架;

所述生成定义模块12,用于生成所述搜索引擎框架的索引,并将所述索引的数据结构类型定义为嵌套结构;

所述数据获取模块13,用于获取产品数据,所述产品数据包括标准化产品单元以及与所述标准化产品单元关联的至少一个库存量单位;

所述嵌套模块14,用于以所述标准化产品单元为中心对象,且以所述库存量单位为嵌套对象,将所述库存量单位内嵌入所述标准化产品单元中,生成数据结构类型为嵌套结构的所述产品数据;

所述填充模块15,用于将嵌套结构的所述产品数据填充至所述搜索引擎框架的所述索引中。

在一实施例中,如图8所示,所述填充模块15包括:

推送单元151,用于将嵌套结构的所述产品数据推送至开源流处理平台的消息队列;

填充单元152,用于通过预设的开源数据收集引擎,将所述消息队列中的嵌套结构的所述产品数据填充至所述索引。

在一实施例中,如图9所示,所述产品数据集成装置还包括:

复杂排序模块16,用于根据预设的产品排序规则,对所述索引中的嵌套结构的所述产品数据进行复杂排序。

在一实施例中,所述产品数据集成装置,还包括:

分词模块,用于对嵌套结构的所述产品数据进行分词,生成嵌套结构的所述产品数据的关键词;

生成模块,用于根据所述关键词生成倒排索引。

在一实施例中,所述产品数据集成装置,还包括:

接收模块,用于接收用户发送的包含检索参数的检索指令;

检测模块,用于遍历嵌套结构的所述产品数据,检测嵌套结构的所述产品数据中是否存在包含所述检索参数的数据;

检索模块,用于当所述产品数据中存在包含所述检索参数的数据时,将包含所述检索参数的数据展示在当前的显示界面上。

关于产品数据集成装置的具体限定可以参见上文中对于产品数据集成方法的限定,在此不再赘述。上述产品数据集成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种产品数据集成方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

获取预设的搜索引擎框架;

生成所述搜索引擎框架的索引,并将所述索引的数据结构类型定义为嵌套结构;

获取产品数据,所述产品数据包括标准化产品单元以及与所述标准化产品单元关联的至少一个库存量单位;

以所述标准化产品单元为中心对象,且以所述库存量单位为嵌套对象,将所述库存量单位内嵌入所述标准化产品单元中,生成数据结构类型为嵌套结构的所述产品数据;

将嵌套结构的所述产品数据填充至所述搜索引擎框架的所述索引中。

本发明的计算机设备将产品数据库中零散的、分布在不同表中的结构化的产品数据,通过嵌套结构的数据形式,将所述结构化的产品数据整合为以一个单品为一个文档对象进行存储的嵌套产品数据,并将嵌套结构的所述产品数据存储至预设的搜索引擎的索引中,且还对嵌套结构的所述产品数据进行复杂排序、建立基于关键词的倒排索引,大大提升了用户检索产品信息的效率,增强用户体验。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取预设的搜索引擎框架;

生成所述搜索引擎框架的索引,并将所述索引的数据结构类型定义为嵌套结构;

获取产品数据,所述产品数据包括标准化产品单元以及与所述标准化产品单元关联的至少一个库存量单位;

以所述标准化产品单元为中心对象,且以所述库存量单位为嵌套对象,将所述库存量单位内嵌入所述标准化产品单元中,生成数据结构类型为嵌套结构的所述产品数据;

将嵌套结构的所述产品数据填充至所述搜索引擎框架的所述索引中。

本发明的计算机可读存储介质将产品数据库中零散的、分布在不同表中的结构化的产品数据,通过嵌套结构的数据形式,将所述结构化的产品数据整合为以一个单品为一个文档对象进行存储的嵌套产品数据,并将嵌套结构的所述产品数据存储至预设的搜索引擎的索引中,且还对嵌套结构的所述产品数据进行复杂排序、建立基于关键词的倒排索引,大大提升了用户检索产品信息的效率,增强用户体验。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1