基于ElasticSearch的智能检索加速方法、设备及存储介质与流程

文档序号:33347118发布日期:2023-03-04 03:55阅读:45来源:国知局
基于ElasticSearch的智能检索加速方法、设备及存储介质与流程
基于elasticsearch的智能检索加速方法、设备及存储介质
技术领域
1.本发明涉及大数据搜索领域,尤其涉及一种基于elasticsearch的智能检索加速方法、设备及存储介质。


背景技术:

2.社保系统目前涵盖社会保险、补充医疗保险等有关的多种附件和报表的检索功能。现有技术只是采用数据库sql多表关联方式进行检索,这种方式在应对日积月累的千万级以上的数据时显得非常吃力。sql多表数据关联方式还存在优化难的问题,各种导致索引不生效的原因层出不穷。表分区和主从数据库设计只能暂时缓解压力,并不能解决根本性问题,也提高了运维成本。因此急需一种技术来突破社保系统的检索压力,提高客户使用体验。


技术实现要素:

3.本发明提供了一种基于elasticsearch的智能检索加速方法、设备及存储介质,旨在解决目前社保系统存在的检索困难的问题。
4.本发明提供了一种基于elasticsearch的智能检索加速方法,所述方法包括以下步骤:数据搜索引擎elasticsearch从社保平台获取包含检索信息的社保业务检索请求;所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档;所述elasticsearch将与所述检索信息有关的业务文档发送给所述社保平台,以便由所述社保平台展示给用户。
5.优选地,所述检索信息包括查询内容和查询条件,所述查询条件包括查询所有、精确查询、全文检索查询、以及按指定组合关系组合至少二个查询条件的组合查询。
6.优选地,当所述查询条件是组合查询时,所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档包括:所述elasticsearch基于所述组合查询中的每个查询条件分别查找业务文档;所述elasticsearch根据所述组合查询的组合关系,将基于所述每个查询条件找到的业务文档组合起来,得到与所述检索信息有关的业务文档。
7.优选地,当所述查询内容是待检功能菜单项名称,所述查询条件是全文检索查询时,所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档包括:所述elasticsearch以倒排序索引方式进行全文检索查询,找到与所述待检功能菜单项名称有关的业务文档,具体为:所述elasticsearch按照语义,对所述待检功能菜单项名称进行分词处理,得到若干词条;所述elasticsearch匹配预设倒排索引库中的词条列表,从所述词条列表中找到每个词条对应的业务文档id;所述elasticsearch根据每个词条对应的业务文档id,找到相应的业务文档。
8.优选地,在所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档之前,所述方法还包括:所述elasticsearch判断所述社保业
务检索请求中的待检功能菜单项名称是否是常用检索语句;若判断所述社保业务检索请求中的待检功能菜单项名称是常用检索语句,则从数据库直接获取所述待检功能菜单项名称对应的业务文档,并发送给所述社保平台;若判断所述社保业务检索请求中的待检功能菜单项名称不是常用检索语句,则以倒排序索引方式进行检索,找到与所述待检功能菜单项名称有关的业务文档。
9.优选地,在所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档之后,所述方法还包括:累计所述待检功能菜单项名称的检索次数;当所述待检功能菜单项名称的检索次数大于预设次数时,将所述待检功能菜单项名称作为常用检索语句,并将所述待检功能菜单项名称及其有关的业务文档保存至数据库。
10.优选地,在所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档之后,所述方法还包括:所述elasticsearch从所述社保平台获取数据聚合检索分析请求;所述elasticsearch根据所述数据聚合分析请求,对所述数据聚合分析请求指定的业务文档的数据进行聚合、分析、运算,得到社保统计信息;所述elasticsearch将所述社保统计信息发送给所述社保平台,以便由所述社保平台展示给用户。
11.优选地,所述数据聚合分析请求中携带待分析的业务文档的信息以及聚合类型,所述聚合类型包括桶聚合、度量聚合、基于所述桶聚合和所述度量聚合的管道聚合。
12.本发明还提供了一种基于elasticsearch的智能检索加速设备,所述设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述的基于elasticsearch的智能检索加速方法的步骤。
13.本发明还提供了一种存储介质,所述存储介质中存储有程序,所述程序被处理器执行时,实现上述的基于elasticsearch的智能检索加速方法的步骤。
14.本发明基于数据搜索引擎elasticsearch对社保业务进行检索,特别elasticsearch的基于倒排索引的全文检索查询,能够提高社保系统的检索效率,降低社保系统的检索压力。
附图说明
15.图1是本发明提供的基于elasticsearch的智能检索加速方法的第一流程图;
16.图2是本发明提供的基于elasticsearch的智能检索加速方法的第二流程图;
17.图3是本发明提供的基于elasticsearch的智能检索加速方法的应用架构图;
18.图4是elasticsearch的倒排索引以及全文检索查询示例图;
19.图5是本发明提供的基于elasticsearch的智能检索加速方法的设备框图。
具体实施方式
20.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
21.本发明基于elasticsearch实现智能检索加速,能够从社保系统的海量数据中快
速进行数据提取,实施输出社保一体化查询成果。其中,elasticsearch是一款非常强大的开源搜索引擎,通过该技术的继承和抽取公用方法,有助于从海量数据中快速找到需要的内容。elasticsearch具备的倒排索引可以完美的解决目前社保系统存在的检索问题。
22.参见图1,基于elasticsearch的智能检索加速方法可以包括以下步骤:
23.步骤s101:elasticsearch从社保平台获取包含检索信息的社保业务检索请求;
24.步骤s102:所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档;
25.步骤s103:所述elasticsearch将与所述检索信息有关的业务文档发送给所述社保平台,以便由所述社保平台展示给用户。
26.其中,所述检索信息包括查询内容和查询条件,所述查询条件包括查询所有、精确查询、全文检索查询、以及按指定组合关系组合至少二个查询条件的组合查询。
27.例如,当所述查询条件是组合查询时,所述步骤s102可以包括:所述elasticsearch基于所述组合查询中的每个查询条件分别查找业务文档,并根据所述组合查询的组合关系,将基于所述每个查询条件找到的业务文档组合起来,得到与所述检索信息有关的业务文档。
28.又例如,当所述查询内容是待检功能菜单项名称,所述查询条件是全文检索查询时,所述步骤s102可以包括:所述elasticsearch以倒排序索引方式进行全文检索查询,找到与所述待检功能菜单项名称有关的业务文档,具体为:所述elasticsearch按照语义,对所述待检功能菜单项名称进行分词处理,得到若干词条,然后匹配预设倒排索引库中的词条列表,从所述词条列表中找到每个词条对应的业务文档id,并根据每个词条对应的业务文档id,找到相应的业务文档。
29.为了进一步加速检索,在所述elasticsearch根据所述社保业务检索请求中的检索信息,查找与所述检索信息有关的业务文档之前,可以先判断所述社保业务检索请求中的待检功能菜单项名称是否是常用检索语句,若判断所述社保业务检索请求中的待检功能菜单项名称是常用检索语句,则从数据库直接获取所述待检功能菜单项名称对应的业务文档,并发送给所述社保平台,否则以倒排序索引方式进行检索,找到与所述待检功能菜单项名称有关的业务文档。其中,常用检索语句是指被检索次数大于预设次数的待检功能菜单项名称。也就是说,本发明可以对待检功能菜单项名称的检索次数进行累计,当所述待检功能菜单项名称的检索次数大于预设次数(例如2次)时,就可以将所述待检功能菜单项名称记作常用检索语句,并将所述待检功能菜单项名称及其有关的业务文档保存至数据库,以便后续的社保业务检索请求再次对该待检功能菜单项名称进行检索时,直接从数据库获取有关业务文档,实现快速数据检索。
30.参见图2,基于elasticsearch的智能检索加速方法还可以包括以下步骤:
31.步骤s103:所述elasticsearch从所述社保平台获取数据聚合检索分析请求;
32.步骤s104:所述elasticsearch根据所述数据聚合分析请求,对所述数据聚合分析请求指定的业务文档的数据进行聚合、分析、运算,得到社保统计信息;
33.步骤s105:所述elasticsearch将所述社保统计信息发送给所述社保平台,以便由所述社保平台展示给用户。
34.其中,所述数据聚合分析请求中携带待分析的业务文档的信息以及聚合类型,所
述聚合类型包括桶聚合、度量聚合、基于所述桶聚合和所述度量聚合的管道聚合。
35.下面结合图3和图4,进行详细说明。
36.1、使用数据库存储,elasticsearch进行搜索和分析
37.由于es不能提供存储的所有功能,很多场景下需要和数据库配合使用。在快速实现菜单、业务数据、附件、操作权限检索的同时,并对常用检索进行数据库方式的记忆记录。在以后的使用中对常用检索进行友情提示,以便更快的实现数据以及功能检索。
38.elasticsearch提供了基于json的dsl来定义查询。常见的查询类型包括:
39.1)查询所有
40.查询出所有数据,一般测试用。例如:match_all
41.2)全文检索(full text)查询
42.利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如:match_query,multi_match_query。
43.3)精确查询
44.根据精确词条值查找数据,一般是查找keyword、数值、日期、boolean等类型字段。例如:ids,range,term。
45.4)复合(compound)查询
46.复合查询可以将上述各种查询条件组合起来,合并查询条件。例如:bool,function_score。
47.参见图3,社保平台或社保web平台检索功能在对数据库(例如sql数据库)执行插入或更新等操作时,数据库中的社保数据发生改变,elasticsearch与数据库之间进行数据同步,从而更新elasticsearch中的社保数据。当社保平台或社保web平台检索功能利用elasticsearch进行搜索时,elasticsearch就可以从elasticsearch中的社保数据中得到相应的搜索结果,并返回给社保平台或社保web平台检索功能。
48.例如,平台通过录入“人员姓名+单位简称+门诊报销关键字”,通过分类检索姓名、单位、门诊补助报销等分类检索到“文档表”,查询“文档表”检索出该单位下人员姓名对应门诊补助报销数据,包括单位编号、人员姓名、人员状态、身份证号、门诊补助额度、门诊补助已报销金额、剩余报销金额。
49.2.平台业务功能菜单搜索
50.基于elasticsearch,对平台功能菜单项快速定位,如参保查询功能、报销管理、资金管理等可以快速构建出模糊功能项搜索。通过elasticsearch的倒排序索引方式进行检索,首先对要检索的功能项按照语义进行分词形成词条列表,每个词条都含有原数据的菜单id。功能模糊查询时可根据词条列表,快速找到功能菜单id,实现功能菜单快速定位检索。
51.参见图4,elasticsearch采用倒排索引,其中:
52.文档(document):每条数据就是一个文档;
53.词条(term):文档按照语义分成的词语。
54.当搜索“减员报表”时,对“减员报表”进行分词,得到“减员”和“报表”两个词条,去词条列表查找文档id,例如,“减员”对应的文档id为2和3,“报表”对应的文档id为1和2,这样,根据得到的文档id就可以查询到文档id为1、2和3的文档,然后将这些文档存入结果集。
55.必要时,也可以按照与查询内容“减员报表”的相关程度,对搜索到的文档进行相关度排序,例如按照相关度分数由高到低的顺序进行排序。
56.3.数据聚合分析
57.聚合可以实现对文档数据的统计、分析、运算。聚合常见的有三类:
58.1)桶(bucket)聚合:用来对文档做分组。例如,termaggregation-按照文档字段值分组;date histogram-按照日期阶梯分组,如一周为一组,或者一月为一组。
59.2)度量(metric)聚合:用以计算一些值。例如,max-求最大值;min-求最小值;avg-求平均值;sum-求和;stats-同时求max、min、avg、sum;等等。
60.3)管道(pipeline)聚合:以其它聚合的结果为基础做聚合。例如,在查询的文档后,对文档进行分组,然后对分组数据进行如sum等的数据统计。
61.数据的多维度、多条件附件统计查询,是当前社保数据业务的一个主要需求,其配合相应的可视化ui可以帮助用户直观的获取信息、做出决策等,比如,对重疾非重疾报销数据、门诊补助报销数据、全额报销数据、管委会报销数据等数据进行全文搜索查询或复合查询以及进行报表统计,可以让用户直观的看到各种报销的实际支付金额、实际个人负担、本次总费用等统计信息,有助于用户进行更高效的管理、更有效的利用资源,支持更多的业务场景。
62.参见图5,本发明还提供了一种基于elasticsearch的智能检索加速设备100,所述设备包括存储器1、处理器2、存储在所述存储器1上并可在所述处理器2上运行的程序,所述程序被所述处理器2执行时实现前述的基于elasticsearch的智能检索加速方法的步骤。
63.本发明还提供了一种存储介质,所述存储介质中存储有程序,所述程序被处理器执行时,实现前述的基于elasticsearch的智能检索加速方法的步骤。
64.以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1