System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及云计算领域,并且更具体地,涉及一种建立索引的方法和装置。
技术介绍
1、elasticsearch(简称es)索引系统可以通过分词器对数据库文档建立分词索引,通过分词索引提供灵活的全文查询功能,但elastic search索引系统对于全文建立分词索引的开销较大。
技术实现思路
1、本申请实施例提供一种建立索引的方法和装置,能够降低索引的开销。
2、第一方面,提供了一种建立索引的方法。该方法包括:获取历史查询语句,该历史查询语句包括n个字段,n为大于或等于2的整数;基于该n个字段的特征建立m个索引,m为大于或等于2的整数,该m个索引中的任一索引用于查询数据库文档中的字段,该特征包括数据类型、查询热度、查询方式和正则表达式中的至少一项。
3、基于上述方案,在建立索引的过程中考虑了用户的历史查询情况,因此建立的索引更符合用户的查询习惯,并且,相对于为每个字段建立索引的方案,本申请提供的方法能够节约建立索引的开销。
4、结合第一方面,在第一方面的某些实现方式中,该查询热度基于字段的查询频次和访问时间中的至少一项确定。
5、结合第一方面,在第一方面的某些实现方式中,该n个字段中任一字段的查询热度通过以下公式确定:
6、
7、其中,z为n个字段中的任一字段,h(z)为任一字段的查询热度,q为任一字段对应的历史查询语句,f(q)为历史查询语句q的查询频次,t(q)为历史查询语句q的访问时间,z(q)为通过历
8、结合第一方面,在第一方面的某些实现方式中,方法还包括:基于n个字段的特征建立m个查询方式,该m个查询方式和该m个索引一一对应。
9、结合第一方面,在第一方面的某些实现方式中,该m个索引包括以下至少两项:es索引、哈希索引、枚举索引、b+树索引或学习型索引。
10、结合第一方面,在第一方面的某些实现方式中,该m个查询方式包括以下至少两项:全文检索查询、常字符串查询、数值字段查询、特定正则表达式字段查询、无特定正则表达式字段查询。
11、结合第一方面,在第一方面的某些实现方式中,方法还包括:确定基于该n个字段的特征建立该m个索引。
12、结合第一方面,在第一方面的某些实现方式中,在该历史查询语句中字段的数量与数据库文档中字段的数量的比值小于阈值时,确定基于该n个字段的特征建立该m个索引。
13、基于上述方案,可以在历史查询语句中字段的数量满足条件的情况下确定以本申请提供的方案建立索引,能够节约建立索引的开销。
14、结合第一方面,在第一方面的某些实现方式中,该n个字段包括第一字段,第一字段为特定正则表达式字段,为第一字段建立es索引;或者该n个字段包括第二字段,第二字段为无特定正则表达式字段,为第二字段建立哈希索引;或者该n个字段包括第三字段,第三字段为数值字段,为第三字段建立b+树索引;或者该n个字段包括第四字段,该第四字段为多维数组字段,为第四字段建立学习型索引。
15、结合第一方面,在第一方面的某些实现方式中,第一字段、第二字段、第三字段和第四字段为热字段。
16、基于上述方案,可以只为热字段建立索引,从而节省建立索引的开销。
17、第二方面,提供了一种装置,该装置用于执行上述第一方面中任一种可能实现方式中的方法。具体地,该装置可以包括用于执行第一方面中任何一种可能实现方式中的方法的单元和/或模块。
18、其中,装置对应的有益效果可以参照方法侧的有益效果的描述,此处不再赘述。
19、第三方面,本申请提供一种处理器,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述处理器执行第一方面中任一种可能实现方式中的方法。
20、在具体实现过程中,上述处理器可以为一个或多个芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于收发器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
21、对于处理器所涉及的发送和获取/接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以理解为处理器输出和接收、输入等操作,也可以理解为由射频电路和天线所进行的发送和接收操作,本申请对此不做限定。
22、第四方面,本申请实施例提供一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行第一方面或第一方面任一种可能的实现方式。
23、第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面以及第一方面的任意一种实现方式中的方法。
24、第六方面,提供了一种计算机可读存储介质,包括指令;所述指令用于实现上述第一方面以及第一方面的任意一种实现方式中的方法。
25、作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,rom)、可编程rom(programmable rom,prom)、可擦除的prom(erasableprom,eprom)、flash存储器、电eprom(electrically eprom,eeprom)以及硬盘驱动器(harddrive)。
26、可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
27、第七方面,提供一种计算设备,该计算设备包括处理器和存储器,所述一个计算设备的处理器用于执行所述存储器中存储的指令,以使得所述计算设备执行上述第一方面任一种可能实现方法。
28、第八方面,提供一种计算节点集群,该计算节点集群包括至少一个计算节点,每个计算节点包括处理器和存储器,所述至少一个计算节点的处理器用于执行所述至少一个计算节点的存储器中存储的指令,以使得所述计算节点集群执行上述第一方面任一种可能实现方法。
本文档来自技高网...【技术保护点】
1.一种建立索引的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述查询热度基于字段的查询频次和访问时间中的至少一项确定。
3.根据权利要求1或2所述的方法,其特征在于,所述N个字段中任一字段的查询热度通过以下公式确定:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述M个索引包括以下至少两项:
6.根据权利要求4或5所述的方法,其特征在于,所述M个查询方式包括以下至少两项:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,在所述历史查询语句中字段的数量与所述数据库文档中字段的数量的比值小于阈值时,确定基于所述N个字段的特征建立所述M个索引。
9.根据权利要求1至8中任一项所述的方法,其特征在于,基于所述N个字段的特征建立M个索引,包括:
10.根据权利要求9所述的方法,其特征在于,所述第一字段、所述第二字
11.一种装置,其特征在于,包括获取模块和处理模块:
12.根据权利要求11所述的装置,其特征在于,所述查询热度基于字段的查询频次和访问时间中的至少一项确定。
13.根据权利要求11或12所述的装置,其特征在于,所述N个字段中任一字段的查询热度通过以下公式确定:
14.根据权利要求11至13中任一项所述的装置,其特征在于,所述处理模块,还用于:
15.根据权利要求11至14中任一项所述的装置,其特征在于,所述M个索引包括以下至少两项:
16.根据权利要求14或15所述的装置,其特征在于,所述M个查询方式包括以下至少两项:
17.根据权利要求11至16中任一项所述的装置,其特征在于,所述处理模块,还用于:
18.根据权利要求17所述的装置,其特征在于,在所述历史查询语句中字段的数量与所述数据库文档中字段的数量的比值小于阈值时,所述处理模块确定基于所述N个字段的特征建立所述M个索引。
19.根据权利要求11至18中任一项所述的装置,其特征在于,所述处理模块基于所述N个字段的特征建立M个索引,包括:
20.根据权利要求19所述的装置,其特征在于,所述第一字段、所述第二字段、所述第三字段和所述第四字段为热字段。
21.一种计算设备,其特征在于,包括:处理器和存储器;所述处理器运行所述存储器中的指令,使得所述计算设备执行如权利要求1至10中任一项所述的方法。
22.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
23.一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如权利要求1至10中任一项所述的方法。
24.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求的1至10中任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至10中任一项所述的方法。
...【技术特征摘要】
1.一种建立索引的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述查询热度基于字段的查询频次和访问时间中的至少一项确定。
3.根据权利要求1或2所述的方法,其特征在于,所述n个字段中任一字段的查询热度通过以下公式确定:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述m个索引包括以下至少两项:
6.根据权利要求4或5所述的方法,其特征在于,所述m个查询方式包括以下至少两项:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,在所述历史查询语句中字段的数量与所述数据库文档中字段的数量的比值小于阈值时,确定基于所述n个字段的特征建立所述m个索引。
9.根据权利要求1至8中任一项所述的方法,其特征在于,基于所述n个字段的特征建立m个索引,包括:
10.根据权利要求9所述的方法,其特征在于,所述第一字段、所述第二字段、所述第三字段和所述第四字段为热字段。
11.一种装置,其特征在于,包括获取模块和处理模块:
12.根据权利要求11所述的装置,其特征在于,所述查询热度基于字段的查询频次和访问时间中的至少一项确定。
13.根据权利要求11或12所述的装置,其特征在于,所述n个字段中任一字段的查询热度通过以下公式确定:
14.根据权利要求11至13中任一项所述的装置,其特征在于,所述处理模块,还用于:
15.根据权利要求11至14中...
【专利技术属性】
技术研发人员:李嘉,侯博议,周文礼,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。