[发明专利]一种基于SolrCloud补全数据对象属性的方法有效
申请号: | 201711286664.9 | 申请日: | 2017-12-07 |
公开(公告)号: | CN107871020B | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 苑晓龙 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/14 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 solrcloud 数据 对象 属性 方法 | ||
本发明提供一种基于SolrCloud补全数据对象属性的方法,属于大数据平台技术领域,本发明实现DirectUpdateHandler3通过主键值从SolrIndex中获取原有文档并与提交文档进行属性合并后提交,满足了前述的需求。采用在SolrCloud的服务端实现此逻辑与在SolrClient端做上述逻辑的处理相比,节省了文档对象在网络中传输的时长,提升了SolrCloud性能。
技术领域
本发明涉及大数据平台技术,尤其涉及一种基于SolrCloud补全数据对象属性的方法。
背景技术
在大数据时代,面对采集到的海量数据,某些情况下,它们都有相同的主键属性,此时我们希望通过相同主键的信息将不同属性的值关联起来,即构建一个数据对象,因此我们需要一种补全对象属性的方法。SolrCloud默认实现的 DirectUpdateHandler2仅实现了原子更新,虽然能实现部分字段属性的填充,但它还是无法完全满足上述需求。
SolrCloud处理来自Solr Client的一个HTTP请求的详细过程,它主要由以下几个组件参与处理:
SolrDispatchFilter组件:SolrCloud的调度器,通过一定的规则把HTTP请求分发到相应的SolrCore。
SolrCore组件:Solr的核心组件,通过它调用SearchComponent、Handler、QueryResponseWriter来处理并响应HTTP请求。
SearchComponent组件:查询组件,只有在查询请求中会用到;预处理HTTP查询请求以及转换响应结果。
Handler组件:所有的Handler都注册到SolrCore上,它完成逻辑处理HTTP请求并生成响应结果。
QueryResponseWriter组件:将HTTP请求的处理结果通过网络输出到发送HTTP请求的SolrClient端。
SolrCloud响应add请求的UpdateHandler默认仅实现了DirectUpdateHandler2,而它无法满足前述需求。
发明内容
为了解决以上技术问题,本发明提出了一种基于SolrCloud补全数据对象属性的方法。自定义实现继承自UpdateHandler的DirectUpdateHandler3类,通过在SolrCloud服务端的逻辑处理,满足了上述的需求。
本发明的技术方案是:
一种基于SolrCloud补全数据对象属性的方法,
在DirectUpdateHandler3类的addDoc方法中,在请求文档提交之前,查询Solr的索引文件获得原有的文档,并且将两者的属性信息合并之后重新提交。
首先,获取客户端提交文档的主键的值;然后获取最新的SolrSearcher查询器,并查询SolrIndex中是否存在此文档,如果存在与此文档主键值相同的文档,则将此文档与查询获得的原有文档合并属性值后提交,否则直接提交文档
自定义继承自UpdateHandler的DirectUpdateHandler3类除与DirectUpdateHandler2相同的代码部分外,主要包括以下几部分内容:
1)直接继承UpdateHandler类;
2)获取SolrSeacher查询器时,通过RefCounted类获取最新的SolrSearcher对象,并且在通过唯一主键值获取原有文档后必须将RefCounted实例的引用计数减1,即关闭查询器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711286664.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置