一种问诊平台中医生信息搜索的方法及系统技术方案

技术编号:24168681 阅读:24 留言:0更新日期:2020-05-16 02:15
本申请实施例提供的一种问诊平台中医生信息搜索的方法及系统,通过根据用户输入的关键字获取json串;根据所述json串编写第一DQL语句;根据所述第一DQL语句进行分词搜索获得关键字搜索结果;对所述关键字搜索结果按预设评分规则进行排序,获得关键字排序结果;从所述关键字排序结果中输出预设数量的搜索结果至用户,实现能实时、精准和分词检索出关键字的相关内容,并能按关键字相关度高低排序输出。在不改变原架构的基础上,通过此搜索引擎,还减少了开发人员编写大篇幅SQL语句的开发。

A method and system of information search for students of traditional Chinese medicine on inquiry platform

【技术实现步骤摘要】
一种问诊平台中医生信息搜索的方法及系统
本申请涉及医疗健康
,尤其涉及一种问诊平台中医生信息搜索的方法及系统。
技术介绍
医生工作站由于业务上的需求,需要根据医生名字或者疾病名称能实时、精准、分词搜索出医生的相关信息,原有的方法时直接从MYSQL数据库通过编写SQL语句获得。但是上述方法无法满足需求,因为MYSQL服务在名字字段或疾病字段没有建立索引的情况下,随着数据量的积累,查询速度越来越慢,达不到近实时的效果。虽然MYSQL能通过‘%’关键字能实现精准查询,也无法现实分词的结果。
技术实现思路
本申请提供了一种问诊平台中医生信息搜索的方法及系统,以解决现有用户搜索医生信息不能精准的问题。第一方面,为实现上述目的,本申请提供了一种问诊平台中医生信息搜索的方法,所述方法包括:根据用户输入的关键字获取json串;根据所述json串编写第一DQL语句;根据所述第一DQL语句进行分词搜索获得关键字搜索结果;对所述关键字搜索结果按预设评分规则进行排序,获得关键字排序结果;从所述关键字排序结果中输出预设数量的搜索结果至用户。进一步地,所述将所述json串编写为第一DQL语句之前,还包括:校验所述json串的有效性。进一步地,所述根据所述第一DQL语句进行分词搜索获得关键字搜索结果,包括:查询出所有带关键字前缀的信息;查询出所有带关键字词组的信息;查询出所有包含在关键字中的信息。进一步地,所述的问诊平台中医生信息搜索的方法,还包括:按预设周期从MYSQL数据库中获取医生信息数据。进一步地,所述按预设周期从MYSQL数据库中获取医生信息数据,包括:组装查询的sql语句;通过所述sql语句从MYSQL数据库获取医生信息数据;组装ES服务器可识别的第二DQL语句;通过所述第二DQL语句将所述医生信息数据导入所述ES服务器。第二方面,本申请还提供了一种问诊平台中医生信息搜索的系统,所述系统包括WEB服务器,MYSQL数据库,还包括ES服务器;所述ES服务器包括:获取单元,用于根据用户输入的关键字获取json串;搜索单元,用于根据所述json串编写第一DQL语句;根据所述第一DQL语句进行分词搜索获得关键字搜索结果;对所述关键字搜索结果按预设评分规则进行排序,获得关键字排序结果;输送单元,用于从所述关键字排序结果中输出预设数量的搜索结果至用户。进一步地,所述获取单元还用于:校验所述json串的有效性。进一步地,所述搜索单元用于:查询出所有带关键字前缀的信息;查询出所有带关键字词组的信息;查询出所有包含在关键字中的信息。进一步地,所述的问诊平台中医生信息搜索的系统,还包括数据同步服务单元,用于:按预设周期从MYSQL数据库中获取医生信息数据。进一步地,所述数据同步服务单元用于:组装查询的sql语句;通过所述sql语句从MYSQL数据库获取医生信息数据;组装ES服务器可识别的第二DQL语句;通过所述第二DQL语句将所述医生信息数据导入所述ES服务器。第三方面,为实现上述目的,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项问诊平台中医生信息搜索的方法的步骤。第四方面,为实现上述目的,本申请提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面任一项问诊平台中医生信息搜索的方法的步骤。由以上技术方案可见,本申请实施例提供的一种问诊平台中医生信息搜索的方法及系统,通过根据用户输入的关键字获取json串;根据所述json串编写第一DQL语句;根据所述第一DQL语句进行分词搜索获得关键字搜索结果;对所述关键字搜索结果按预设评分规则进行排序,获得关键字排序结果;从所述关键字排序结果中输出预设数量的搜索结果至用户,实现能实时、精准和分词检索出关键字的相关内容,并能按关键字相关度高低排序输出。在不改变原架构的基础上,通过此搜索引擎,还减少了开发人员编写大篇幅SQL语句的开发。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种问诊平台中医生信息搜索的方法的流程示意图;图2为本申请实施例提供的请求搜索的时序流程示意图;图3为本申请实施例提供的数据导入时序流程图;图4为本申请实施例提供的存储数据原理图;图5为本申请实施例提供的问诊平台中医生信息搜索的系统的结构示意图;图6为本申请实施例提供的ES服务器的结构示意图。具体实施方式下面通过对本申请进行详细说明,本申请的特点和优点将随着这些说明而变得更为清楚、明确。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于本申请工作状态下的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”和“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。如果用户通过医生名字或疾病名称直接查询MYSQL数据库也能快速和精准查询出医生的相关信息,前提是需要在医生姓名字段和疾病字段建立索引,但可能存在医生名字和疾病名称内容较长,随着数据量的增大,占用空间越大,一般MYSQL在该字段下建立索引较少见,即使在该字段下建立了索引,医生的相关信息又分别存储在不同的表内,结果就在查询写SQL语句时需要LEFTJOIN多张表,查询效率明显较低。还有MYQL是不支持分词的功能,如:需要查询“冠心病”关键字的疾病,按MYSQL的常用写法是“%冠心病%”查询出所有带有“冠心病”全词的相关信息,不能查询出分别是“冠”、“冠心”、“病”的信息。所以需要解决以下问题:减少开发人员书写大篇幅查询SQL语句;根据关键字近实时查询得出结果并按关键字相关度高低排序输出;支持关键字分词功能。为解决上述问题,本申请提供了一种问诊平台中医生信息搜索的方法及系统,下面结合附图,详细介绍本申请的具体实施例。图1为本申请实施例提供本文档来自技高网...

【技术保护点】
1.一种问诊平台中医生信息搜索的方法,其特征在于,所述方法包括:/n根据用户输入的关键字获取json串;/n根据所述json串编写第一DQL语句;/n根据所述第一DQL语句进行分词搜索获得关键字搜索结果;/n对所述关键字搜索结果按预设评分规则进行排序,获得关键字排序结果;/n从所述关键字排序结果中输出预设数量的搜索结果至用户。/n

【技术特征摘要】
1.一种问诊平台中医生信息搜索的方法,其特征在于,所述方法包括:
根据用户输入的关键字获取json串;
根据所述json串编写第一DQL语句;
根据所述第一DQL语句进行分词搜索获得关键字搜索结果;
对所述关键字搜索结果按预设评分规则进行排序,获得关键字排序结果;
从所述关键字排序结果中输出预设数量的搜索结果至用户。


2.根据权利要求1所述的问诊平台中医生信息搜索的方法,其特征在于,所述将所述json串编写为第一DQL语句之前,还包括:
校验所述json串的有效性。


3.根据权利要求2所述的问诊平台中医生信息搜索的方法,其特征在于,所述根据所述第一DQL语句进行分词搜索获得关键字搜索结果,包括:
查询出所有带关键字前缀的信息;
查询出所有带关键字词组的信息;
查询出所有包含在关键字中的信息。


4.根据权利要求1所述的问诊平台中医生信息搜索的方法,其特征在于,还包括:
按预设周期从MYSQL数据库中获取医生信息数据。


5.根据权利要求4所述问诊平台中医生信息搜索的方法,其特征在于,所述按预设周期从MYSQL数据库中获取医生信息数据,包括:
组装查询的sql语句;
通过所述sql语句从MYSQL数据库获取医生信息数据;
组装ES服务器可识别的第二DQL语句;
通过所述第二DQL语句将所述医生信息数据导入所述ES服务器。

...

【专利技术属性】
技术研发人员:杨健袁孟全
申请(专利权)人:贵阳朗玛信息技术股份有限公司
类型:发明
国别省市:贵州;52

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

1