[发明专利]基于静态Cache的搜索方法、索引数据生成方法以及装置有效
申请号: | 201410352816.0 | 申请日: | 2014-07-23 |
公开(公告)号: | CN105335402B | 公开(公告)日: | 2018-12-04 |
发明(设计)人: | 史可晶;罗涛 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 静态 cache 搜索 方法 索引 数据 生成 以及 装置 | ||
1.一种基于静态Cache的搜索方法,其特征在于,包括:
接收来自客户端的搜索请求;
根据搜索请求中包含的查询信息,生成所述搜索请求中包含的查询信息对应的查询语法树;
在所述查询语法树中查找是否存在预先生成的高频语法树;若存在,按照从根节点到叶子节点的顺序用预先计算出的所述高频语法树的唯一标识替换所述查询信息中的、与所述高频语法树对应的部分查询信息;所述高频语法树的唯一标识用于在检索阶段从索引库中快速召回与所述部分查询信息对应的搜索结果;
根据替换后的查询信息对索引库进行检索,获取与所述搜索请求对应的搜索结果,并返回给所述客户端。
2.根据权利要求1所述的基于静态Cache的搜索方法,其特征在于,如果在所述查询语法树中没有找到所述预先生成的高频语法树,则直接根据所述搜索请求包含的查询信息对索引库进行检索。
3.根据权利要求1所述的基于静态Cache的搜索方法,其特征在于,所述搜索请求中的查询信息包括:一个或者一个以上数据对,以及代表数据对之间逻辑关系的逻辑运算符;所述数据对包括索引名及对应的索引值,所述逻辑关系包括:逻辑与、逻辑或、或者逻辑非。
4.根据权利要求1-3任一所述的基于静态Cache的搜索方法,其特征在于,在接收来自客户端的搜索请求之前,执行下述操作:
根据查询日志中的查询信息,生成高频语法树配置信息;
查找与所述配置信息中的高频语法树相匹配的文档,生成根据高频语法树快速检索到与之匹配文档的索引数据。
5.根据权利要求4所述的基于静态Cache的搜索方法,其特征在于,所述根据查询日志中的查询信息,生成高频语法树配置信息包括:
针对查询日志中的每条查询信息,生成按照预先设定的规约原则处理后的查询语法树及其唯一标识;
将在查询日志中出现次数满足设定要求的查询语法树作为高频语法树;高频语法树及其唯一标识共同组成所述高频语法树配置信息。
6.根据权利要求5所述的基于静态Cache的搜索方法,其特征在于,所述针对查询日志中的每条查询信息,生成按照预先设定的规约原则处理后的查询语法树及其唯一标识是指,针对查询日志中的每条查询信息,执行下述操作:
根据所述查询日志中的每条查询信息,生成所述查询日志中的每条查询信息对应的查询语法树;所述查询语法树的每个叶子节点包括:查询信息中的一对索引名和索引值,非叶子节点代表下一级子节点之间的逻辑关系;
按照预先设定的规约原则,对所述查询语法树执行规约处理,得到经规约处理后的查询语法树;
按照预先设定的规则,计算所述经规约处理后的查询语法树的唯一标识。
7.根据权利要求6所述的基于静态Cache的搜索方法,其特征在于,所述预先设定的规约原则包括:
对于逻辑与,将A&(B&C)或者(A&B)&C都规约为A&B&C;
对于逻辑或,将(A|B)|C或者A|(B|C)都规约为A|B|C;
对于逻辑非,将A&(B not C)或者(B not C)&A都规约为(A&B)not C。
8.根据权利要求6所述的基于静态Cache的搜索方法,其特征在于,所述按照预先设定的规则,计算所述经规约处理后的查询语法树的唯一标识是指,按照从叶子节点到根节点的顺序,计算所述查询语法树的每个节点的Hash值,并将计算得到的根节点的Hash值作为所述查询语法树的唯一标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410352816.0/1.html,转载请声明来源钻瓜专利网。