[发明专利]过滤方法和服务器有效
申请号: | 201310422744.8 | 申请日: | 2013-09-16 |
公开(公告)号: | CN104462104B | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 郭光明 | 申请(专利权)人: | 华为软件技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F16/335 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 210012 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 过滤 方法 服务器 | ||
本发明实施例公开了过滤方法和服务器。基于预先建立的对象索引,所述对象索引包括针对属性值建立的列索引;上述过滤方法包括:接收过滤条件,所述过滤条件包括至少一个属性值;获取与所述过滤条件中的属性值相匹配的列索引中的对象集,所述对象集中的对象均拥有所述属性值;对获取到的对象集取交集,取交集后得到的对象作为过滤结果。可见,在本发明实施例中,由于针对每一属性值设置了对象集,这样,在过滤时,可获取到与过滤条件中的属性值相匹配的列索引的对象集,再通过对对象集取交集,即可实现过滤。
技术领域
本发明涉及查询技术领域,更具体地说,涉及过滤方法和服务器。
背景技术
在数据查询、信息检索等领域,经常需要对对象进行过滤(查询、检索)。上述对象可能是产品(例如手机)、人员等等。对象一般具有属性和属性值。其中,属性和属性值相关联,比如,某款手机的“手机操作系统”(OS)为Android,则“OS”是手机的一种属性,而Android是“OS”这一属性对应的属性值。如何对对象进行过滤、查询,是时下研究的热门。
发明内容
有鉴于此,本发明实施例的目的在于提供过滤方法和服务器,以解决上述问题。
为实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提供一种过滤方法,基于预先建立的对象索引,所述对象索引包括针对属性值建立的列索引;
所述方法包括:
接收过滤条件,所述过滤条件包括至少一个属性值;
获取与所述过滤条件中的属性值相匹配的列索引中的对象集,所述对象集中的对象均拥有所述属性值;
对获取到的对象集取交集,取交集后得到的对象作为过滤结果。
结合第一方面,在第一种可能的实现方式中,所述列索引包括关键字和对象集,所述关键字至少包括属性值;任一列索引中的属性值不同于其他列索引中的属性值;
所述对象索引通过如下方式建立:
将每一对象的每一属性值分别作为目标属性值,建立针对所述目标属性值的列索引;
所述建立针对所述目标属性值的列索引包括:
在不存在针对所述目标属性值的列索引时,新建列索引,令新建的列索引的关键词包含所述目标属性值,并且,所述新建的列索引的对象集,包含所述目标属性值对应的对象;
在存在针对所述目标属性值的列索引时,将所述目标属性值对应的对象插入到,针对所述目标属性值的列索引的对象集中。
结合第一方面,或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述列索引采用Hash结构存储。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述对象集中的对象按自然序排列。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述对获取到的对象集取交集包括:
当获取到N个对象集时,进行N-1轮匹配查找处理,所述N为不小于2的自然数。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,第i轮匹配查找处理包括第一处理和第二处理,所述i为不小于1并且不大于N-1的自然数,其中:
所述第一处理包括:任选两个未参与匹配查找处理的对象集,其中一个对象集作为参考集,另一个对象集作为被搜索集;
依次将所述参考集中的对象作为目标参考对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为软件技术有限公司,未经华为软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310422744.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种语音搜索方法及装置
- 下一篇:面向计算机辅助翻译的输入方法与装置