一种基于Solr的电商索引文件的混合式更新方法技术

技术编号:18445150 阅读:35 留言:0更新日期:2018-07-14 10:28
本发明专利技术提供一种基于Solr的电商索引文件的混合式更新方法,事先将商品的信息分为敏感信息和非敏感信息,在敏感信息变动时采用实时更新索引文件的方式更新,而其它非敏感信息的变动采用定时增量更新索引文件的方式更新,这样既保证了搜索引擎的敏感信息的实时更新,又兼顾了搜索引擎的性能,尽可能减少对索引文件的频繁更新操作。

A hybrid updating method of Solr based index file for electric business

The invention provides a hybrid updating method based on Solr based index files of e-commerce. It divides the information into sensitive and non sensitive information in advance, updates the index file in real time when the sensitive information is changed, and the changes of other non sensitive information are updated by the time increment update index file. It not only ensures the real-time update of the sensitive information of the search engine, but also takes into account the performance of the search engine, and reduces the frequent update operation of the index files as much as possible.

【技术实现步骤摘要】
一种基于Solr的电商索引文件的混合式更新方法
本专利技术涉及计算机
,特别是一种基于Solr的电商索引文件的混合式更新方法。
技术介绍
在电商网站系统里,当商品库里的商品信息发生变动时,变动需要更新到搜索引擎系统的索引文件里。商品属性如价格、实时库存等敏感信息要求实时更新到索引文件中,而像商品名称或描述信息则允许存在一定延迟后再更新到索引文件中。目前,基于Solr的搜索引擎的索引文件更新方法大致有如下几种方法:一、全量更新全量更新虽然可以采取分段读取数据,可以按自增主键分段或者按记录更新的时间截分段取。但由于数据源是可增删改查,这种更新会导致按自增id的数据在有些地方比较稀疏;而按记录的更新时间截,也有可能在某个时间段里更新大量数据,所以也会有不同时间段数据过稀或者过密的情况,这种情况导致分段取数据调控不方便。而且如果数据源的数据量大的话,完成一次全量更新得耗费较长的时间,而且可能真正需要更新到索引文件的记录只有某几条,所以对于数据源的数据量比较多的情况,全量更新明显不适合。二、增量更新增量更新是每隔一定的时间,把数据源有被修改的记录更新到索引文件中,所以存在数据源和索引文件之间数据同步的延迟。对于敏感数据如商品价格、实时库存等如果没能实时同步到索引文件的话,那么用户通过搜索引擎检索出来的商品的价格、实时库存则和实际的商品价格、实时库存不符。3)实时更新每次商品信息变动都向Solr发送一个更新索引文件的请求。实时更新的方法会频繁对索引文件进行写入操作,影响索引文件的读取效率。而且客户端是以同步的方式向Solr发送一个更新索引文件的请求,并不能保证该请求肯定会执行成功,如果中间出现网络故障,则会造成数据源和索引文件不一致。
技术实现思路
本专利技术要解决的技术问题,在于提供一种基于Solr的电商索引文件的混合式更新方法,将商品的敏感信息变动实时更新到索引文件中,而其它非敏感信息的变动采用定时增量更新的方式更新到索引文件中,这样既保证了搜索引擎的敏感信息的实时更新,又兼顾了搜索引擎的性能,尽可能减少对索引文件的频繁更新操作。本专利技术是这样实现的:一种基于Solr的电商索引文件的混合式更新方法,事先将商品信息分为敏感信息和非敏感信息,并且基于Solrj开发一个WEB服务命名为Solrj服务,所述Solrj服务用于实现实时更新索引文件和定时增量更新索引文件,然后进行如下步骤:步骤S1、商品管理系统修改商品信息并将商品修改的信息保存到数据库,同时将商品记录的IsCommit字段值改为“F”,且LastUpdatedDateTime字段值记录修改时间;步骤S2、判断本次修改商品信息的操作是否为删除操作,如果是删除操作,则更改商品记录的Expired字段的值为“T”,等待所述Solrj服务进行所述定时增量更新索引文件;如果不是删除操作,则继续执行步骤S3;步骤S3、判断被修改的商品信息是否包含有敏感信息,如果是,则所述Solrj服务进行所述实时更新索引文件;如果不是,则等待所述Solrj服务进行所述定时增量更新索引文件。进一步地,所述实时更新索引文件包括以下步骤:步骤S11、所述商品管理系统异步调用所述Solrj服务提供的实时更新索引接口;步骤S12、所述Solrj服务接收到调用请求后,向Solr搜索服务器发送实时更新索引文件的请求;步骤S13、所述Solr搜索服务器更新完索引文件后,反馈更新成功通知消息给所述Solrj服务;步骤S14、所述Solrj服务向所述商品管理系统发送异步通知消息,通知所述商品管理系统当前实时更新索引请求已成功执行;步骤S15、所述商品管理系统收到异步通知消息后,更新IsCommit字段的值为“T”,后给所述Solrj服务返回一条修改成功的通知消息;步骤S16、如果所述Solrj服务收到所述商品管理系统返回的修改成功的通知消息后,则本次实时更新索引结束;如果没有收到所述商品管理系统返回的修改成功的通知消息,则会每隔一周期重复步骤S14和S15,如果都没有收到返回的修改成功的通知消息,则表示这条商品记录的IsCommit的字段值没有成功改为“T”,那么结束本次实时更新索引文件,同时将本次修改的商品信息等待所述Solrj服务进行所述定时增量更新索引文件,重新被更新一次。进一步地,所述步骤S16中,最多重复3次步骤S14和S15,所述周期为1min。进一步地,所述定时增量更新索引文件包括以下步骤:步骤S21、首先查询config.properties配置文件中的最后一次定时增量更新索引文件的时间last_index_time;步骤S22、搜索数据库商品记录的LastUpdatedDateTime大于last_index_time,并且IsCommit字段为“F”的记录集;遍历所述记录集,如果记录的Expired字段为“T”,则从索引文件中删除该条记录,如果不是,则更新索引文件,并保存当前更新索引文件的时间到config.properties配置文件中的last_index_time。本专利技术具有如下优点:本专利技术提供一种基于Solr的电商索引文件的混合式更新方法,事先将商品的信息分为敏感信息和非敏感信息,在敏感信息变动时采用实时更新索引文件的方式更新,而其它非敏感信息的变动采用定时增量更新索引文件的方式更新,这样既保证了搜索引擎的敏感信息的实时更新,又兼顾了搜索引擎的性能,尽可能减少对索引文件的频繁更新操作。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术一种基于Solr的电商索引文件的混合式更新方法的执行流程图。图2为本专利技术所述的实时更新索引文件的时序图。图3为本专利技术所述的定时增量更新索引文件的时序图。图4为本专利技术的搜索引擎系统的结构图。具体实施方式请参阅图1-4所示,本专利技术一种基于Solr的电商索引文件的混合式更新方法,事先将商品信息分为敏感信息和非敏感信息,并且基于Solrj开发一个WEB服务命名为Solrj服务,所述Solrj服务用于实现实时更新索引文件和定时增量更新索引文件,然后进行如下步骤:步骤S1、商品管理系统修改商品信息并将商品修改的信息保存到数据库,同时将商品记录的IsCommit字段值改为“F”,且LastUpdatedDateTime字段值记录修改时间;步骤S2、判断本次修改商品信息的操作是否为删除操作,如果是删除操作,则更改商品记录的Expired字段的值为“T”,等待所述Solrj服务进行所述定时增量更新索引文件;如果不是删除操作,则继续执行步骤S3;步骤S3、判断被修改的商品信息是否包含有敏感信息,如果是,则所述Solrj服务进行所述实时更新索引文件;如果不是,则等待所述Solrj服务进行所述定时增量更新索引文件。将敏感信息变动时采用实时更新索引文件的方式更新,而其它非敏感信息的变动采用定时增量更新索引文件的方式更新,这样既保证了搜索引擎的敏感信息的实时更新,又兼顾了搜索引擎的性能,尽可能减少对索引文件的频繁更新操作。优选地,所述实时更新索引文件包括以下步骤:步骤S11、所述商品管理系统异步调用所述Solrj服务提供的实时更新索引接口;步骤S12、所述Solrj服务接收到调用请求后,向Solr搜索服务器发送实时更新索引文件的请求;步骤S13、所述本文档来自技高网
...

【技术保护点】
1.一种基于Solr的电商索引文件的混合式更新方法,其特征在于:事先将商品信息分为敏感信息和非敏感信息,并且基于Solrj开发一个WEB服务命名为Solrj服务,所述Solrj服务用于实现实时更新索引文件和定时增量更新索引文件,然后进行如下步骤:步骤S1、商品管理系统修改商品信息并将商品修改的信息保存到数据库,同时将商品记录的IsCommit字段值改为“F”,且LastUpdatedDateTime字段值记录修改时间;步骤S2、判断本次修改商品信息的操作是否为删除操作,如果是删除操作,则更改商品记录的Expired字段的值为“T”,等待所述Solrj服务进行所述定时增量更新索引文件;如果不是删除操作,则继续执行步骤S3;步骤S3、判断被修改的商品信息是否包含有敏感信息,如果是,则所述Solrj服务进行所述实时更新索引文件;如果不是,则等待所述Solrj服务进行所述定时增量更新索引文件。

【技术特征摘要】
1.一种基于Solr的电商索引文件的混合式更新方法,其特征在于:事先将商品信息分为敏感信息和非敏感信息,并且基于Solrj开发一个WEB服务命名为Solrj服务,所述Solrj服务用于实现实时更新索引文件和定时增量更新索引文件,然后进行如下步骤:步骤S1、商品管理系统修改商品信息并将商品修改的信息保存到数据库,同时将商品记录的IsCommit字段值改为“F”,且LastUpdatedDateTime字段值记录修改时间;步骤S2、判断本次修改商品信息的操作是否为删除操作,如果是删除操作,则更改商品记录的Expired字段的值为“T”,等待所述Solrj服务进行所述定时增量更新索引文件;如果不是删除操作,则继续执行步骤S3;步骤S3、判断被修改的商品信息是否包含有敏感信息,如果是,则所述Solrj服务进行所述实时更新索引文件;如果不是,则等待所述Solrj服务进行所述定时增量更新索引文件。2.根据权利要求1所述的一种基于Solr的电商索引文件的混合式更新方法,其特征在于:所述实时更新索引文件包括以下步骤:步骤S11、所述商品管理系统异步调用所述Solrj服务提供的实时更新索引接口;步骤S12、所述Solrj服务接收到调用请求后,向Solr搜索服务器发送实时更新索引文件的请求;步骤S13、所述Solr搜索服务器更新完索引文件后,反馈更新成功通知消息给所述Solrj服务;步骤S14、所述Solrj服务向所述商品管理系统发送异步通知消息,通知所述商品管理系统当前实时更新索引请求已成功执行;步骤S15、所述商品...

【专利技术属性】
技术研发人员:王晨阳刘垣郭李华
申请(专利权)人:福建工程学院
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1