CN117743499A - 二叉堆构造方法、装置、设备和介质 - Google Patents
二叉堆构造方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN117743499A CN117743499A CN202311807476.1A CN202311807476A CN117743499A CN 117743499 A CN117743499 A CN 117743499A CN 202311807476 A CN202311807476 A CN 202311807476A CN 117743499 A CN117743499 A CN 117743499A
- Authority
- CN
- China
- Prior art keywords
- target
- field value
- field
- user
- patent information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 21
- 230000001174 ascending effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及检索领域,尤其涉及一种二叉堆构造方法、装置、设备和介质,方法包括:当接收到检索请求信息时,基于检索请求信息,获取多个关联专利信息,其中,检索请求信息至少包括用户选择的目标排序字段;在多个字段值提取规则中,确定目标排序字段对应的目标字段值提取规则;根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到每一关联专利信息对应的目标字段值;基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息;根据排序后的多个关联专利信息,确定目标二叉堆。本申请可以减少用户不必要的检索次数。
Description
技术领域
本申请涉及检索的技术领域,尤其是涉及一种二叉堆构造方法、装置、设备和介质。
背景技术
Elasticsearch索引是数据的组织和搜索方式,它使用倒排索引来支持高效的全文搜索,并提供了丰富的查询功能和灵活的数据操作方式。
目前,当用户有在其收录的专利中进行检索的需求时,系统只能基于Elasticsearch方式进行相关度计算,得到专利文档中的关键词与用户检索需求中的关键词之间的相关程度;然后,基于用户收录的全部专利各自对应的相关程度,得到与用户检索需求相关性相关的二叉堆。需要了解的是,二叉堆可以为最大堆或最小堆,且,二叉堆包括预设数量的与用户检索需求相关的专利文档。
但是,当用户存在除专利内容之外的需求时,用户需要进行多次检索操作才能得到理想内容,其中,上述专利内容对应的需求可以通过用户在专利检索平台中输入的检索词语得到。
故,如何通过确定二叉堆来使检索结果更加满足用户需求,从而提升检索效率,是本领域技术人员亟待解决的技术问题。
发明内容
为了减少用户不必要的检索次数,本申请提供一种二叉堆构造方法、装置、设备和介质。
第一方面,本申请提供一种二叉堆构造方法,采用如下的技术方案:
一种二叉堆构造方法,包括:
当接收到检索请求信息时,基于所述检索请求信息,获取多个关联专利信息,其中,所述检索请求信息至少包括用户选择的目标排序字段;
在多个字段值提取规则中,确定所述目标排序字段对应的目标字段值提取规则;
根据所述目标字段值提取规则,对每一所述关联专利信息进行关于所述目标排序字段的字段值提取,得到每一所述关联专利信息对应的目标字段值;
基于全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息;
根据所述排序后的所述多个关联专利信息,确定目标二叉堆,其中,所述目标二叉堆包括按顺序排列的预设数量的所述关联专利信息各自对应的预设专利文档。
本申请在一较佳示例中可以进一步配置为:所述检索请求信息还包括用户ID,根据所述目标字段值提取规则,
对每一所述关联专利信息进行关于所述目标排序字段的字段值提取,得到每一所述关联专利信息对应的目标字段值,包括:
获取全部预存正排数据,其中,每一所述预存正排数据包括预存专利文档ID和所述预存专利文档ID对应的预存专利号;
将所述用户ID与每一所述预存专利号组合,得到每一用户索引ID;并利用每一所述用户索引ID,得到每一所述用户索引ID对应的用户索引数据;
对每一所述用户索引数据进行字段值提取,得到所述目标排序字段对应的每一所述目标字段值。
本申请在一较佳示例中可以进一步配置为:
在接收到检索请求信息之前,还包括:
编写排序规则自定义类,以对预设排序构建器的关于定义排序规则的功能进行继承;
相应的,获取全部预存正排数据,包括:
基于所述排序规则自定义类,获取所述全部预存正排数据。
本申请在一较佳示例中可以进一步配置为:
在接收到检索请求信息之前,还包括:
编写基于用户索引的字段值获取方式的类,以对预设字段值获取方式构建器的关于定义字段值获取方式的功能进行继承;
相应的,对每一所述用户索引文档进行字段值提取,得到所述目标排序字段对应的每一所述目标字段值,包括:
基于所述基于用户索引的字段值获取方式的类,对每一所述用户索引文档进行字段值提取,得到所述目标排序字段对应的每一所述目标字段值。
本申请在一较佳示例中可以进一步配置为:
利用每一所述用户索引ID,得到每一所述用户索引ID对应的用户索引数据,包括:
针对每一所述用户索引ID,在内存中确定所述用户索引ID对应的内容结果;
当所述内容结果为存在时,自所述内存中提取所述用户索引ID对应的所述用户索引数据;
当所述内容结果为不存在时,自磁盘中提取所述用户索引ID对应的所述用户索引数据。
本申请在一较佳示例中可以进一步配置为:
所述检索请求信息还包括排序规则,所述排序规则为升序或降序,所述目标二叉堆为目标最大堆或目标最小堆,
基于全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息,包括:
基于所述排序规则和全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息;
相应的,从所述排序后的所述多个关联专利信息中,确定目标二叉堆,包括:
当所述排序规则为所述升序时,从所述排序后的所述多个关联专利信息中,确定所述目标最小堆;
当所述排序规则为所述降序时,从所述排序后的所述多个关联专利信息中,确定所述目标最大堆。
本申请在一较佳示例中可以进一步配置为:
专利信息包括至少一个预存排序字段的预存字段值,
所述二叉堆构造方法,还包括:
当检测到用户的收录信息时,获取收录专利的写入排序字段和所述写入排序字段对应的写入字段值;
将所述写入排序字段作为新的预存排序字段,将所述写入排序字段对应的写入字段值作为所述新的预存排序字段的预存字段值,以对所述收录专利的专利信息进行预先存储。
第二方面,本申请提供一种二叉堆确定装置,采用如下的技术方案:
一种二叉堆确定装置,包括:
关联专利信息获取模块,用于当接收到检索请求信息时,基于所述检索请求信息,获取多个关联专利信息,其中,所述检索请求信息至少包括用户选择的目标排序字段;
字段值提取规则模块,用于确定在多个字段值提取规则中,确定所述目标排序字段对应的目标字段值提取规则;
目标字段值提取模块,用于根据所述目标字段值提取规则,对每一所述关联专利信息进行关于所述目标排序字段的字段值提取,得到每一所述关联专利信息对应的目标字段值;
排序模块,用于基于全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息;
二叉堆确定模块,用于根据所述排序后的所述多个关联专利信息,确定目标二叉堆,其中,所述目标二叉堆包括按顺序排列的预设数量的所述关联专利信息各自对应的预设专利文档。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行如第一方面任一项所述的二叉堆构造方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行如第一方面任一项所述的二叉堆构造方法。
综上所述,本申请至少包括以下有益技术效果:
相较于相关技术中只能获取用户检索关键词,即关于专利文字部分的需求,本方案通过接受的检索请求信息中的目标排序字段,可以以直接确定用户除关于专利文字部分的需求之外的其他检索需求;获取多个关联专利信息,以确定与上述关于专利文字部分的需求相关的用户收录的专利;在多个预设字段值提取规则中,为目标排序字段确定适配的目标字段值提取规则;根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到全部多个关联专利信息各自对应的目标字段值后;基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息,并从排序后的多个关联专利信息中,直接确定能够满足用户除关于专利文字部分的需求之外的其他检索需求的目标二叉堆,以减少用户不必要的检索次数。
附图说明
图1为本申请实施例提供的一种二叉堆构造方法的应用场景示意图。
图2为本申请实施例提供的一种二叉堆构造方法的流程示意图。
图3为本申请实施例提供的一种二叉堆确定装置的结构示意图。
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图1至附图4对本申请作进一步详细说明。
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
下面结合说明书附图对本申请实施例作进一步详细描述。
本申请实施例提供了一种二叉堆构造方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
目前,在专利查询中大多基于构建专利索引,帮助用户得到索引结果。构建专利索引,具体可以包括:存在多个用户,每一用户会收藏多个专利,此时,相当于一个用户ID对应收藏有多个专利号;此时,基于elasticsearch关联索引构建方式,可以得到多个专利索引数据,其中,每个专利索引数据包括专利公开号、专利公开号对应的收藏用户ID组、专利公开号对应的关键词组;对于一个专利,当存在新收藏该专利的用户时,电子设备会生成一条索引更新数据并将上述索引更新数据暂存至内存中,上述索引更新数据包括专利公开号、专利公开号对应的新的收藏用户ID。
一般的,当接收到用户检索请求时,先在内存中查找是否存在索引更新数据;若存在,则基于上述索引更新数据和上述多个专利索引数据,经由elasticsearch关联索引构建方式,得到新的多个专利索引数据,其中,原上述多个专利索引数据中存在更新的专利号对应的专利索引数据包括专利公开号、专利公开号对应的收藏用户ID组、专利公开号对应的关键词组,新的多个专利索引数据中存在更新的专利号对应的专利索引数据专利公开号、专利公开号对应的新的收藏用户ID组、专利公开号对应的关键词组,新的收藏用户ID组中包括新收藏次专利的用户的用户ID;在得到上述新的多个专利索引数据之后,基于用户输入内容进行检索,以得到检索结果。
在上述过程中,自上述多个专利索引数据得到上述新的多个专利索引时间较长,导致用户得到检索结果的时间较长。
本申请通过构建用户索引代替专利索引,以加快得到检索结果,其中,用户索引的构建过程可以为:用户在收藏专利时,通过为该专利添加对应的标签和能够表示该专利在该标签下的重要程度的数值,生成用户索引数据,来预先记录用户自身对于该专利在该标签对应条件下的需求程度,其中,用户索引数据至少包括用户索引ID与用户索引ID对应的数值,上述标签为用户预设的用于排序的字段,即预设排序字段;当用户存在该标签下的检索需求时,电子设备自动基于专利公开号与专利公开号对应的标签、标签对应的数值,进行排序,得到检索结果,即目标二叉堆。
进一步的,当用户存在除与专利方案相关之外的需求时,可以在输入与专利方案相关需求之外,再输入除与专利方案相关之外的需求,然后用户端将上述全部需求作为检索请求信息发送至电子设备;电子设备基于检索请求信息,获取多个关联专利信息,在多个字段值提取规则中,确定目标排序字段对应的目标字段值提取规则,根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到每一关联专利信息对应的目标字段值,基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息,根据排序后的多个关联专利信息,确定目标二叉堆,以得到检索结果并反馈至用户;从而实现当用户存在除与专利方案相关之外的需求时,相较于相关技术中,用户需要进行多次检索操作才能得到理想内容,本方案可以基于用户索引快速得到目标二叉堆,其中,上述专利内容对应的需求可以通过用户在专利检索平台中输入的检索词语得到。
如图1所示,用户自用户端输入检索词语后,用户端基于上述检索词语合成检索请求信息,并将上述检索请求信息发送至电子设备,其中,上述检索词语可以包括与专利方案内容相关的词语和其他词语;电子设备在任一时刻可能接收到信息,此时,对该接收到的信息进行检测,若检测到上述信息为检索请求信息时,基于上述检索请求信息得到目标二叉堆,然后将目标二叉堆发送至用户端;用户端将上述目标二叉堆作为检索结果进行显示,以对用户的检索行为进行反馈。
如图2所示,该方法包括步骤S101至步骤S105,其中:
步骤S101:当接收到检索请求信息时,基于检索请求信息,获取多个关联专利信息,其中,检索请求信息至少包括用户选择的目标排序字段。
其中,检索请求信息至少可以包括用户ID、用户输入的与专利方案内容相关的词语和用户选择的目标排序字段,以及目标排序字段对应的目标字段类型。目标排序字段为用户ID对应的多个预设排序字段中的一个预设排序字段。
具体的,电子设备在检测到接收到来自用户端的检索请求信息时,先将接收到的检索请求信息进行解析,得到电子设备能够处理的新的检索请求信息,其中,上述新的检索请求信息可以存储于build解析器中以待使用;基于预设专利索引数据库,确定上述与专利方案相关的词语中任一词语相同的预设关键词对应的预设专利号,其中,预设专利索引数据库包括多个预设专利号各自对应的预设关键词组,且可由elasticsearch关联索引方式自动建立,上述预设关键词组包括多个预设关键词,预设关键词为预设专利号对应的专利文档中的词语;将上述与专利方案相关的词语中任一词语相同的预设关键词对应的预设专利号,作为关联专利信息,以得到上述多个关联专利信息。
步骤S102:在多个字段值提取规则中,确定目标排序字段对应的目标字段值提取规则。
可以理解的是,不同字段类型对应的信息读取方式不同,本方案需要对不同字段类型设置不同的字段提取方式。需要注意的是,不同字段提取方式之间的处理数据的逻辑相同。
其中,每一字段值提取规则均为预设字段值提取规则,每一字段值提取规则对应唯一的字段类型,字段类型可以为Long、Double、String或Custom。
具体的,基于目标排序字段对应的目标字段类型,和,多个字段值提取规则与其各自对应的预设字段类型,将与上述目标字段类型相同的预设字段类型对应的字段值提取规则,作为上述目标字段值提取规则。
步骤S103:根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到每一关联专利信息对应的目标字段值。
步骤S104:基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息。
步骤S105:根据排序后的多个关联专利信息,确定目标二叉堆,其中,目标二叉堆包括按顺序排列的预设数量的关联专利信息各自对应的预设专利文档。
具体的,使用ES结果收集器,将上述排序后的多个关联专利信息中,顺序最前的预设数量的关联专利信息作为目标关联专利信息,其中,ES结果收集器可以为TopFieldCollector,预设数量可由用户或技术人员自行设定并存储于电子设备中;获取每一目标关联专利信息对应的预设专利文档,并将获取到的每一预设专利文档作为目标专利文档;基于上述排序后的多个关联专利信息中的顺序,对全部目标专利文档进行排序,得到目标二叉堆。
在本申请实施例中,相较于相关技术中只能获取用户检索关键词,即关于专利文字部分的需求,本方案通过接受的检索请求信息中的目标排序字段,可以直接确定用户除关于专利文字部分的需求之外的其他检索需求;获取多个关联专利信息,以确定与上述关于专利文字部分的需求相关的用户收录的专利;在多个预设字段值提取规则中,为目标排序字段确定适配的目标字段值提取规则;根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到全部多个关联专利信息各自对应的目标字段值后;基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息,并从排序后的多个关联专利信息中,直接确定能够满足用户除关于专利文字部分的需求之外的其他检索需求的目标二叉堆,以减少用户不必要的检索次数。
本申请通过构建用户索引代替专利索引,以加快得到检索结果,其中,用户索引的构建过程可以为:用户在收藏专利时,通过为该专利添加对应的标签和能够表示该专利在该标签下的重要程度的数值,生成用户索引数据,来预先记录用户自身对于该专利在该标签对应条件下的需求程度,其中,用户索引数据至少包括用户索引ID与用户索引ID对应的数值,上述标签为用户预设的用于排序的字段,即预设排序字段;当用户存在该标签下的检索需求时,电子设备自动基于专利公开号与专利公开号对应的标签、标签对应的数值,进行排序,得到检索结果,即目标二叉堆。
进一步的,当用户存在除与专利方案相关之外的需求时,可以在输入与专利方案相关需求之外,再输入除与专利方案相关之外的需求,然后用户端将上述全部需求作为检索请求信息发送至电子设备;电子设备基于检索请求信息,获取多个关联专利信息,在多个字段值提取规则中,确定目标排序字段对应的目标字段值提取规则,根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到每一关联专利信息对应的目标字段值,基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息,根据排序后的多个关联专利信息,确定目标二叉堆,以得到检索结果并反馈至用户;从而实现当用户存在除与专利方案相关之外的需求时,相较于相关技术中,用户需要进行多次检索操作才能得到理想内容,本方案可以基于用户索引快速得到目标二叉堆,其中,上述专利内容对应的需求可以通过用户在专利检索平台中输入的检索词语得到。
本申请实施例的一种可能的实现方式,步骤S103,根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到每一关联专利信息对应的目标字段值,具体可以包括:
获取全部预存正排数据,其中,每一预存正排数据包括预存专利文档ID和预存专利文档ID对应的预存专利号;
将用户ID与每一预存专利号组合,得到每一用户索引ID;并利用每一用户索引ID,得到每一用户索引ID对应的用户索引数据;
对每一用户索引数据进行字段值提取,得到目标排序字段对应的每一目标字段值。
其中,每一预存正排数据均可以由专利索引数据得到,且,预存正排数据表征专利文档ID与专利文档ID对应的预存专利号之间的对应关系;需要注意的是,在预存正排数据中,专利文档ID与专利文档ID对应的预存专利号之间的对应关系中专利文档ID在前、预存专利号在后;需要了解的是,预存正排数据在相关技术中,主要用于elasticsearch关联索引中的正排索引。专利文档ID可以用于提取专利文档ID对应的专利文档,为专利文档的标识信息。预存专利号为专利公开号,可预先设定并存储于电子设备中。
需要注意的是,上述全部预存正排数据为电子设备中的全部预存正排数据,且,在用户索引ID中用户ID在前、预存专利号在后。
利用每一用户索引ID,得到每一用户索引ID对应的用户索引文档,具体可以包括:在用户索引ID库中的多个用户索引数据中,确定上述用户索引ID对应的用户索引数据。
对每一用户索引数据进行字段值提取,得到目标排序字段对应的每一目标字段值,具体可以包括:确定上述用户索引ID对应的用户索引数据中的用户索引ID对应的数值组,其中,数值组包括多个预设排序字段各自对应的数值;将上述数值组中目标排序字段对应的数值,作为上述目标字段值。
在本申请实施例中,获取全部预存正排数据后,将用户ID与每一预存专利号组合,得到每一用户索引ID,以确定用户收藏过的全部专利各自对应的用户索引ID;基于用户收藏过的全部专利各自对应的用户索引ID,得到用户索引ID对应的用户索引数据,以确定该用户收藏的每一专利下的全部预设排序字段及其各自对应的数值;针对该用户收藏的每一专利,将目标排序字段对饮的字段值提取出来,得到上述目标字段值,以实现基于用户索引的字段值提取。
本申请实施例的一种可能的实现方式,在步骤S101,接收到检索请求信息之前,具体还可以包括:
编写排序规则自定义类,以对预设排序构建器的关于定义排序规则的功能进行继承;
相应的,获取全部预存正排数据,包括:
基于排序规则自定义类,获取全部预存正排数据。
其中,排序规则自定义类可以为JoinSortBuilder,且,排序规则自定义类的功能为定义用户索引中优先队列的排序规则,其中,基于上述优先队列可以得到目标二叉堆。
需要注意的是,预设排序构建器的功能为在专利索引中生成优先队列,其中,专利索引中的优先队列是以相关数量为基础进行排列的,上述相关数量为目标关键词组中与用户输入的用于检索的词语相同的词语的数量,目标关键词组为专利索引数据中的关键词组;预设排序构建器可以为org.elasticsearch.search.sort.SortBuilder,上述预设排序构建器仅能支持专利索引中的优先队列的生成过程。故,本申请通过创建新的可以用于用户索引的排序规则自定义类,代替预设排序构建器,可以减少由于预设排序构建器针对用户索引中的优先队列生成方式上的功能缺失带来的目标二叉堆获取过程不稳定的问题。
在本申请实施例中,通过编写排序规则自定义类,以对预设排序构建器的关于定义排序规则的功能进行继承;相应的,基于排序规则自定义类,获取全部预存正排数据,以减少由于预设排序构建器针对用户索引中的优先队列生成方式上的功能缺失带来的目标二叉堆获取过程不稳定的问题。
本申请实施例的一种可能的实现方式,在步骤S101之前,还可以包括:
编写基于用户索引的字段值获取方式的类,以对预设字段值获取方式构建器的关于定义字段值获取方式的功能进行继承;
相应的,对每一用户索引文档进行字段值提取,得到目标排序字段对应的每一目标字段值,包括:
基于基于用户索引的字段值获取方式的类,对每一用户索引文档进行字段值提取,得到目标排序字段对应的每一目标字段值。
基于用户索引的字段值获取方式的类为JoinLongValuesComparatorSource,且,上述基于用户索引的字段值获取方式的类的功能为在用户索引中获取目标字段值,即拥有关于定义字段值获取方式的功能。
需要注意的是,预设字段值获取方式构建器的功能为在专利索引中获取字段值,其中,专利索引的字段值为目标关键词组中与用户输入的用于检索的词语相同的词语的数量,目标关键词组为专利索引数据中的关键词组。上述预设字段值获取方式构建器可以为org.elasticsearch.index.fielddata.fieldcomparator.LongValuesComparatorSource,上述预设字段值获取方式构建器仅能支持专利索引中的字段值获取过程。故,本申请通过创建新的可以用于用户索引的字段值获取方式的类,代替预设字段值获取方式构建器,可以减少由于预设字段值获取方式构建器功能缺失的问题带来的目标字段值获取过程不稳定的问题。
编写排序规则自定义类的关键点在于:由于上述预设排序构建器仅能支持专利索引中的字段值获取过程,故,可以通过重写loadDocValues方法,增加基于用户索引数据获取用户索引ID对应的数值的功能。
在本申请实施例中,通过编写基于用户索引的字段值获取方式的类,以对对预设字段值获取方式构建器的关于定义字段值获取方式的功能进行继承;相应的,基于用户索引的字段值获取方式的类,对每一用户索引文档进行字段值提取,得到目标排序字段对应的每一目标字段值,以减少由于预设字段值获取方式构建器功能缺失的问题带来的目标字段值获取过程不稳定的问题。
本申请实施例的一种可能的实现方式,利用每一用户索引ID,得到每一用户索引ID对应的用户索引数据,具体可以包括:
针对每一用户索引ID,在内存中确定用户索引ID对应的内容结果;
当内容结果为存在时,自内存中提取用户索引ID对应的用户索引数据;
当内容结果为不存在时,自磁盘中提取用户索引ID对应的用户索引数据。
其中,自磁盘中提取用户索引ID对应的用户索引数据,又可以成为主键查询。
可以理解的是,电子设备的存储设备至少包括内存与磁盘,CPU自内存获取数据相较于从磁盘中获取数据,耗时较短。
上述内容结果表征内存中是否存在用户索引ID对应的用户索引数据,当上述内容结果为存在时,表征内存中存在用户索引ID对应的用户索引数据,当上述内容结果为不存在时,表征内存中不存在用户索引ID对应的用户索引数据。
在本申请实施例中,针对每一用户索引ID,通过在内存中先确定用户索引ID对应的内容结果;当内容结果为存在时,相较于从磁盘中获取用户索引数据,本方案自内存中提取用户索引ID对应的用户索引数据,耗时更短。
检索请求信息还包括排序规则,排序规则为升序或降序,目标二叉堆为目标最大堆或目标最小堆,本申请实施例的一种可能的实现方式,步骤S104,基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息,具体可以包括:
基于排序规则和全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息;
相应的,从排序后的多个关联专利信息中,确定目标二叉堆,包括:
当排序规则为升序时,从排序后的多个关联专利信息中,确定目标最小堆;
当排序规则为降序时,从排序后的多个关联专利信息中,确定目标最大堆。
其中,上述排序规则可以由用户端获取。目标最小堆包括上述排序后的多个专利信息中目标字段值最小的预设数量的专利号对应的预设专利文档;目标最大堆包括上述排序后的多个专利信息中目标字段值最大的预设数量的专利号对应的预设专利文档。
在本申请实施例中,根据排序规则确定目标二叉堆为目标最小堆或目标最大堆,以实现根据实际应用需求选择适合的堆类型,从而快速、高效地处理得到目标二叉堆。
专利信息包括至少一个预存排序字段的预存字段值,本申请实施例的一种可能的实现方式,上述二叉堆构造方法,具体可以还包括:
当检测到用户的收录信息时,获取收录专利的写入排序字段和写入排序字段对应的写入字段值;
将写入排序字段作为新的预存排序字段,将写入排序字段对应的写入字段值作为新的预存排序字段的预存字段值,以对收录专利的专利信息进行预先存储。
在本申请实施例中,对新出现的被收录专利的专利信息进行预先存储,以提升用户索引数据的实时性。
上述实施例从方法流程的角度介绍一种二叉堆构造方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种二叉堆确定装置,具体详见下述实施例。
本申请实施例提供一种二叉堆确定装置,如图3所示,该二叉堆确定装置,具体可以包括:
关联专利信息获取模块201,用于当接收到检索请求信息时,基于检索请求信息,获取多个关联专利信息,其中,检索请求信息至少包括用户选择的目标排序字段;
字段值提取规则模块202,用于确定在多个字段值提取规则中,确定目标排序字段对应的目标字段值提取规则;
目标字段值提取模块203,用于根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到每一关联专利信息对应的目标字段值;
排序模块204,用于基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息;
二叉堆确定模块205,用于根据排序后的多个关联专利信息,确定目标二叉堆,其中,目标二叉堆包括按顺序排列的预设数量的关联专利信息各自对应的预设专利文档。
本申请实施例的一种可能的实现方式,检索请求信息还包括用户ID,字段值提取规则模块203,在执行根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到每一关联专利信息对应的目标字段值时,具体用于:
获取全部预存正排数据,其中,每一预存正排数据包括预存专利文档ID和预存专利文档ID对应的预存专利号;
将用户ID与每一预存专利号组合,得到每一用户索引ID;并利用每一用户索引ID,得到每一用户索引ID对应的用户索引数据;
对每一用户索引数据进行字段值提取,得到目标排序字段对应的每一目标字段值。
本申请实施例的一种可能的实现方式,二叉堆确定装置,还包括:
排序规则自定义类编写模块,用于:
编写排序规则自定义类,以对预设排序构建器的关于定义排序规则的功能进行继承;
相应的,字段值提取规则模块203,在执行获取全部预存正排数据时,具体用于:
基于排序规则自定义类,获取全部预存正排数据。
本申请实施例的一种可能的实现方式,二叉堆确定装置,还包括:
字段值获取方式类编写模块,用于:
编写基于用户索引的字段值获取方式的类,以对预设字段值获取方式构建器的关于定义字段值获取方式的功能进行继承;
相应的,字段值提取规则模块203,在执行对每一用户索引文档进行字段值提取,得到目标排序字段对应的每一目标字段值时,具体用于:
基于基于用户索引的字段值获取方式的类,对每一用户索引文档进行字段值提取,得到目标排序字段对应的每一目标字段值。
本申请实施例的一种可能的实现方式,字段值提取规则模块203,在执行利用每一用户索引ID,得到每一用户索引ID对应的用户索引数据时,具体用于:
针对每一用户索引ID,在内存中确定用户索引ID对应的内容结果;
当内容结果为存在时,自内存中提取用户索引ID对应的用户索引数据;
当内容结果为不存在时,自磁盘中提取用户索引ID对应的用户索引数据。
本申请实施例的一种可能的实现方式,检索请求信息还包括排序规则,排序规则为升序或降序,目标二叉堆为目标最大堆或目标最小堆,排序模块204,在执行基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息时,具体用于:
基于排序规则和全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息;
相应的,二叉堆确定模块205,在执行从排序后的多个关联专利信息中,确定目标二叉堆时,具体用于:
当排序规则为升序时,从排序后的多个关联专利信息中,确定目标最小堆;
当排序规则为降序时,从排序后的多个关联专利信息中,确定目标最大堆。
本申请实施例的一种可能的实现方式,专利信息包括至少一个预存排序字段的预存字段值,二叉堆确定装置,还包括:
专利信息更新模块,用于:
当检测到用户的收录信息时,获取收录专利的写入排序字段和写入排序字段对应的写入字段值;
将写入排序字段作为新的预存排序字段,将写入排序字段对应的写入字段值作为新的预存排序字段的预存字段值,以对收录专利的专利信息进行预先存储。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的一种二叉堆确定装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例中提供了一种电子设备,如图4所示,图4所示的电子设备包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备的结构并不构成对本申请实施例的限定。
处理器301可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一型的总线。
存储器303可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,本申请实施例相较于相关技术中只能获取用户检索关键词,即关于专利文字部分的需求,本方案通过接受的检索请求信息中的目标排序字段,可以以直接确定用户除关于专利文字部分的需求之外的其他检索需求;获取多个关联专利信息,以确定与上述关于专利文字部分的需求相关的用户收录的专利;在多个预设字段值提取规则中,为目标排序字段确定适配的目标字段值提取规则;根据目标字段值提取规则,对每一关联专利信息进行关于目标排序字段的字段值提取,得到全部多个关联专利信息各自对应的目标字段值后;基于全部目标字段值,对多个关联专利信息进行排序,得到排序后的多个关联专利信息,并从排序后的多个关联专利信息中,直接确定能够满足用户除关于专利文字部分的需求之外的其他检索需求的目标二叉堆,以减少用户不必要的检索次数。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种二叉堆构造方法,其特征在于,包括:
当接收到检索请求信息时,基于所述检索请求信息,获取多个关联专利信息,其中,所述检索请求信息至少包括用户选择的目标排序字段;
在多个字段值提取规则中,确定所述目标排序字段对应的目标字段值提取规则;
根据所述目标字段值提取规则,对每一所述关联专利信息进行关于所述目标排序字段的字段值提取,得到每一所述关联专利信息对应的目标字段值;
基于全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息;
根据所述排序后的所述多个关联专利信息,确定目标二叉堆,其中,所述目标二叉堆包括按顺序排列的预设数量的所述关联专利信息各自对应的预设专利文档。
2.根据权利要求1所述的二叉堆构造方法,其特征在于,所述检索请求信息还包括用户ID,
根据所述目标字段值提取规则,对每一所述关联专利信息进行关于所述目标排序字段的字段值提取,得到每一所述关联专利信息对应的目标字段值,包括:
获取全部预存正排数据,其中,每一所述预存正排数据包括预存专利文档ID和所述预存专利文档ID对应的预存专利号;
将所述用户ID与每一所述预存专利号组合,得到每一用户索引ID;并利用每一所述用户索引ID,得到每一所述用户索引ID对应的用户索引数据;
对每一所述用户索引数据进行字段值提取,得到所述目标排序字段对应的每一所述目标字段值。
3.根据权利要求2所述的二叉堆构造方法,其特征在于,在接收到检索请求信息之前,还包括:
编写排序规则自定义类,以对预设排序构建器的关于定义排序规则的功能进行继承;
相应的,获取全部预存正排数据,包括:
基于所述排序规则自定义类,获取所述全部预存正排数据。
4.根据权利要求2所述的二叉堆构造方法,其特征在于,在接收到检索请求信息之前,还包括:
编写基于用户索引的字段值获取方式的类,以对预设字段值获取方式构建器的关于定义字段值获取方式的功能进行继承;
相应的,对每一所述用户索引文档进行字段值提取,得到所述目标排序字段对应的每一所述目标字段值,包括:
基于所述基于用户索引的字段值获取方式的类,对每一所述用户索引文档进行字段值提取,得到所述目标排序字段对应的每一所述目标字段值。
5.根据权利要求2所述的二叉堆构造方法,其特征在于,利用每一所述用户索引ID,得到每一所述用户索引ID对应的用户索引数据,包括:
针对每一所述用户索引ID,在内存中确定所述用户索引ID对应的内容结果;
当所述内容结果为存在时,自所述内存中提取所述用户索引ID对应的所述用户索引数据;
当所述内容结果为不存在时,自磁盘中提取所述用户索引ID对应的所述用户索引数据。
6.根据权利要求1所述的二叉堆构造方法,其特征在于,所述检索请求信息还包括排序规则,所述排序规则为升序或降序,所述目标二叉堆为目标最大堆或目标最小堆,
基于全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息,包括:
基于所述排序规则和全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息;
相应的,从所述排序后的所述多个关联专利信息中,确定目标二叉堆,包括:
当所述排序规则为所述升序时,从所述排序后的所述多个关联专利信息中,确定所述目标最小堆;
当所述排序规则为所述降序时,从所述排序后的所述多个关联专利信息中,确定所述目标最大堆。
7.根据权利要求1所述的二叉堆构造方法,其特征在于,专利信息包括至少一个预存排序字段的预存字段值,
所述二叉堆构造方法,还包括:
当检测到用户的收录信息时,获取收录专利的写入排序字段和所述写入排序字段对应的写入字段值;
将所述写入排序字段作为新的预存排序字段,将所述写入排序字段对应的写入字段值作为所述新的预存排序字段的预存字段值,以对所述收录专利的专利信息进行预先存储。
8.一种二叉堆确定装置,其特征在于,包括:
关联专利信息获取模块,用于当接收到检索请求信息时,基于所述检索请求信息,获取多个关联专利信息,其中,所述检索请求信息至少包括用户选择的目标排序字段;
字段值提取规则模块,用于确定在多个字段值提取规则中,确定所述目标排序字段对应的目标字段值提取规则;
目标字段值提取模块,用于根据所述目标字段值提取规则,对每一所述关联专利信息进行关于所述目标排序字段的字段值提取,得到每一所述关联专利信息对应的目标字段值;
排序模块,用于基于全部所述目标字段值,对所述多个关联专利信息进行排序,得到排序后的所述多个关联专利信息;
二叉堆确定模块,用于根据所述排序后的所述多个关联专利信息,确定目标二叉堆,其中,所述目标二叉堆包括按顺序排列的预设数量的所述关联专利信息各自对应的预设专利文档。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行权利要求1~7任一项所述的二叉堆构造方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1~7任一项所述的二叉堆构造方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311807476.1A CN117743499A (zh) | 2023-12-22 | 2023-12-22 | 二叉堆构造方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311807476.1A CN117743499A (zh) | 2023-12-22 | 2023-12-22 | 二叉堆构造方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117743499A true CN117743499A (zh) | 2024-03-22 |
Family
ID=90257475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311807476.1A Pending CN117743499A (zh) | 2023-12-22 | 2023-12-22 | 二叉堆构造方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743499A (zh) |
-
2023
- 2023-12-22 CN CN202311807476.1A patent/CN117743499A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885773B (zh) | 一种文章个性化推荐方法、系统、介质及设备 | |
US9418144B2 (en) | Similar document detection and electronic discovery | |
CN101276361B (zh) | 一种显示相关关键词的方法及系统 | |
CN111898643B (zh) | 一种语义匹配方法及装置 | |
CN108701121B (zh) | 将用户输入分派到用户界面中的多个输入域 | |
CN103136228A (zh) | 一种图片搜索方法以及图片搜索装置 | |
CN111651453B (zh) | 用户历史行为查询方法、装置、电子设备及存储介质 | |
CN110704677B (zh) | 一种节目推荐方法、装置、可读存储介质及终端设备 | |
CN102541989B (zh) | 数据检索的稳健的自动纠正 | |
US20230205755A1 (en) | Methods and systems for improved search for data loss prevention | |
US7756798B2 (en) | Extensible mechanism for detecting duplicate search items | |
CN110580255A (zh) | 一种存储并检索数据的方法以及系统 | |
CN110287338B (zh) | 行业热点确定方法、装置、设备和介质 | |
CN110674383B (zh) | 舆情查询方法、装置及设备 | |
CN116226515B (zh) | 一种搜索结果排序方法、装置、电子设备和存储介质 | |
CN109101630B (zh) | 一种应用程序搜索结果的生成方法、装置及设备 | |
CN115080684B (zh) | 网盘文档索引方法、装置、网盘及存储介质 | |
CN110866085A (zh) | 数据反馈方法与装置 | |
CN113051919A (zh) | 一种识别命名实体的方法和装置 | |
CN116361552A (zh) | 校园图书检索方法、装置、设备及可读存储介质 | |
CN112989011B (zh) | 数据查询方法、数据查询装置和电子设备 | |
CN117743499A (zh) | 二叉堆构造方法、装置、设备和介质 | |
CN111310016B (zh) | 标签挖掘方法、装置、服务器和存储介质 | |
CN111311329B (zh) | 标签数据获取方法、装置、设备及可读存储介质 | |
US9323753B2 (en) | Method and device for representing digital documents for search applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |