查询语句优化方法及装置制造方法及图纸

技术编号:15219441 阅读:93 留言:0更新日期:2017-04-26 16:41
本发明专利技术公开了一种查询语句优化方法及装置。该方法包括:在查询search层的每个数据段segment的管理模块中执行以下操作:对与运算的query语句的条件特征进行统计,根据条件特征确定每个条件对应的结果集大小和嵌套包含的节点数目,获取最小结果集;在判断用户的查询query语句符合预先设置的优化条件后,根据最小结果集和嵌套包含的节点数目,确定是否将单域或嵌套的逻辑与类型操作替换为检查check过滤运算,并将query语句的逻辑非运算替换为check过滤运算。借助于本发明专利技术的技术方案,能够提升内核的运算效率,降低proxy层后续维护和升级的难度。

Method and device for optimizing query sentences

The invention discloses a method and a device for optimizing query sentences. The method includes the following query management module of search layer in each data segment in the segment characteristics of the query statement: conditions and operation of the statistical characteristics of each condition determined according to the conditions of the corresponding results in the number of nodes and the size of nested included, to obtain the minimal results accord with the optimization conditions set; set in judgment the user's query query statement, the number of nodes according to the minimum result set and nested included, determine whether will replace the logic and operation type single domain or nested check to check the filtration operation, and the query statement logicoperation replacement for check filter operation. With the technical proposal of the invention, the operational efficiency of the kernel can be improved, and the difficulty of the subsequent maintenance and upgrade of the proxy layer can be reduced.

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种查询语句优化方法及装置。
技术介绍
在现有技术中,搜索引擎检索模型是传统的布尔模型,计算耗时主要发生在查询语句(query语句)的与或非逻辑运算上。对于与类型的query语句,可以把query语句的部分条件拿来做检查语句(check语句)过滤运算,以带来更高的效率提升。在现有技术中,是通过手工配置进行check语句过滤运算的条件,它是内核系统中优化的机制之一。把query语句中的某些域或嵌套优化成check语句,提升内核的运算效率。例如,可以把示例中的query语句中的local优化到check语句中变成如下形式:query=params2306:(50253716473748572)AND(dcateid0:(3306)OR(params7058:(38570865397766601)ANDdcateid0:(574)))&&check=local:(1)ANDpostdate:[20140811TO20140922]从上面的描述可以看出,现有技术中check语句中语法的实现是通过预先写死的配置文件,在代理(proxy)本文档来自技高网...

【技术保护点】
一种查询语句优化方法,其特征在于,在查询search层的每个数据段segment的管理模块中执行以下操作:对与运算的query语句的条件特征进行统计,根据所述条件特征确定每个条件对应的结果集大小和嵌套包含的节点数目,获取最小结果集;在判断用户的查询query语句符合预先设置的优化条件后,根据所述最小结果集和嵌套包含的所述节点数目,确定是否将单域或嵌套的逻辑与类型操作替换为检查check过滤运算,并将query语句的逻辑非运算替换为check过滤运算。

【技术特征摘要】
1.一种查询语句优化方法,其特征在于,在查询search层的每个数据段segment的管理模块中执行以下操作:对与运算的query语句的条件特征进行统计,根据所述条件特征确定每个条件对应的结果集大小和嵌套包含的节点数目,获取最小结果集;在判断用户的查询query语句符合预先设置的优化条件后,根据所述最小结果集和嵌套包含的所述节点数目,确定是否将单域或嵌套的逻辑与类型操作替换为检查check过滤运算,并将query语句的逻辑非运算替换为check过滤运算。2.如权利要求1所述的方法,其特征在于,所述优化条件包括:所述query语句的根节点的逻辑运算为与运算;优化的目标为根节点下面的域或嵌套;优化的域或嵌套中的每个域必须有正排。3.如权利要求1所述的方法,其特征在于,所述获取最小结果集具体包括:按照所述结果集大小对所述query语句的条件进行重新排序,获取最小结果集。4.如权利要求1所述的方法,其特征在于,根据所述最小结果集和嵌套包含的所述节点数目,确定是否将单域或嵌套的逻辑与类型操作替换为检查check过滤运算具体包括:在判断单域对应的结果集大于或等于所述最小结果集N倍时,将该单域的逻辑与类型操作替换为check过滤运算,其中,N为正整数;在单域对应的结果集大于或等于预先设置的第一阈值时,将该单域的逻辑与类型操作替换为check过滤运算;在嵌套下面域包含的节点数目大于或等于预先设置的第二阈值时,将该嵌套中对应的逻辑与类型操作替换为check过滤运算。5.一种...

【专利技术属性】
技术研发人员:代元杰
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:天津;12

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

1