当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于Solr的体检数据搜索系统技术方案

技术编号:15501023 阅读:50 留言:0更新日期:2017-06-03 22:35
本发明专利技术公开了一种基于Solr的体检数据搜索系统,包括数据预处理模块、Solr搜索引擎平台搭建模块和网页查询模块。本发明专利技术采用Oracle+Solr的框架,数据存储在医院的Oracle数据库中,用Solr建立全文搜索引擎,并导入MMSeg4i的支持库和专业医学词库以支持中文文本类型的分词。Solr虽然可以通过发送查询请求返回数据,但是数据结果为json形式,不够直观。因此,本发明专利技术设计一个与索引库交互的用户查询界面,该查询界面为用户提供查找输入框,又能将输出结果有序的显示给客户。

A physical examination data searching system based on Solr

The invention discloses a physical examination data searching system based on Solr, which comprises a data preprocessing module, a Solr search engine platform, a building module and a webpage inquiry module. The invention adopts the Oracle+Solr framework, the data stored in the hospital Oracle database, a full-text search engine with Solr, and MMSeg4i into the library and professional medical thesaurus to support segmentation Chinese text types. Solr can return data by sending query requests, but the data result is JSON, not intuitive enough. Therefore, the invention designs a user inquiry interface that interacts with the index library, which provides the user with a search input box and displays the output results in order to the customer.

【技术实现步骤摘要】
一种基于Solr的体检数据搜索系统
本专利技术属于医疗大数据处理
,具体涉及一种基于Solr的体检数据搜索系统。
技术介绍
健康是人生的第一大财富。随着人们生活水平的提高、保健意识的增强,健康体检逐渐成为一种社会时尚,人们已经改变了只有在得病时才去医院的传统观念,定期体检已经被大多数人所接受。因此,医院积累了海量的电子体检数据。如何充分利用己有的体检数据来更好的辅助医生的学术研究是本领域的研究重点。一般当数据量比较小的时候,各种信息内容都直接存储在医院数据库系统中,并且使用数据库提供的检索和查询功能进行中文内容搜索。但是随着数据量的增大,到百万千万乃至上亿条数据的时候,使用数据库中的like"%keyword%"查询,查询效率会急剧的下降。经实践,在医院现有的传统数据库搜索信息需要几十分钟,极大地浪费医生的时间。并且对于不会使用数据库的医生,提取数据需要求助专业技术人员,增大操作难度。因此使用数据库直接查询来进行中文检索并不是好的解决方案。而使用搜索引擎就可以避免数据库like查询带来的低效性;且使用Solr搭建搜索引擎更可以避免使用其他大型搜索引擎的所遇到的更新慢,数据不准确等问题。
技术实现思路
鉴于上述,本专利技术提供了一种基于Solr的体检数据搜索系统,该系统具有良好的用户界面,医生可按照网页上的目录来进行选择项目和项目下的细项,点击搜索即可得到符合条件的数据;另外,医生还可以自行在搜索框里输入关键字进行查找,搜索时间为几秒,不会因为数据的庞大而影响搜索速度。一种基于Solr的体检数据搜索系统,由数据预处理模块、Solr搜索引擎平台搭建模块和网页查询模块依次连接组成;其中:所述的数据预处理模块用于对医院体检数据库中的所有体检报告进行预处理以及统计分析,以统计出所有体检项目并进行归纳分类,分析提取出关于B超和放射的所有诊断结果;所述的Solr搜索引擎平台搭建模块利用Solr建立全文搜索引擎,以实现索引创建以及索引搜索;所述的网页查询模块用于为用户提供查找的分类目录选择和关键字输入框,并将输出结果有序地显示给用户。所述数据预处理模块对体检报告进行预处理以及分析,具体包括对缺失重要信息的体检报告进行删除,对体检报告中的异常值进行修正处理。所述数据预处理模块采用Python连接Oracle对体检报告结果表中的组合项目名称和体检项目名称进行统计并人为归纳分类;同时针对B超和放射的诊断分类目录,通过对个人总检单中的总检查小结进行分析,利用正则表达法得到关于B超和放射的诊断结果。所述Solr搜索引擎平台搭建模块实现索引创建的具体过程为:首先利用Solr的分词组件对待索引原始文档进行分词并去除标点符号和停用词;然后将得到的词传给Solr的语言处理组件,以把词的大写变为小写,单词变为词根形式;最后将处理后的词传给Solr的索引组件生成反向索引,其包括字符串序列以及字符串的文档编号链表;所述待索引原始文档包括体检者的证件信息、出生日期、性别、年龄以及体检的编码、日期、组合项目名称和体检项目名称。所述Solr搜索引擎平台搭建模块在实现索引创建的过程中导入MMSeg4i的支持库和专业医学词库以支持中文文本类型的分词。所述Solr搜索引擎平台搭建模块实现索引搜索的具体过程为:首先对查询内容进行词法分析、语法分析和语言处理;然后搜索索引,得到符合语法树的文档集合;最后计算查询内容与文档的相关性,根据相关性对文档进行排序。这样每次搜索的时候,solr系统不需要访问所有文档,极大地减少搜索时间。本专利技术系统支持多关键字搜索,系统会先找到各相关索引下的文档,然后取共同的文档列表作为搜索结果。所述的网页查询模块在服务器端基于J2EE架构,使用Spring、Struts的开源应用框架以及MVC(ModelViewController)的设计模式,一方面支持通过目录选择多个细项进行搜索且支持对B超和放射检查进行诊断分类搜索,另一方面支持直接关键字搜索且支持选择体检者的年龄范围、体检日期范围和性别进行搜索。本专利技术采用Oracle+Solr的框架,数据存储在医院的Oracle数据库中,用Solr建立全文搜索引擎,并导入MMSeg4i的支持库和专业医学词库以支持中文文本类型的分词。Solr虽然可以通过发送查询请求返回数据,但是数据结果为json形式,不够直观。因此,本专利技术设计一个与索引库交互的用户查询界面,该查询界面为用户提供查找输入框,又能将输出结果有序的显示给客户。由此,本专利技术系统具有以下有益技术效果:(1)本专利技术基于对体检数据的统计结果,生成一个覆盖范围广且分类极细的分类目录,此目录中的项目为数据库中所有体检项目,因此本专利技术系统功能全面,可以为不同科室的医生服务,且分类极为细致,甚至针对B超和放射科实现诊断的分类。(2)本专利技术将医院数据存储在Oracle数据库中,利用Solr的DataImportHandler处理器,可将数据库数据导入Solr,Solr支持索引更新,所以医生可快速查询到相对较新的数据。(3)本专利技术系统还设计了友好的用户界面,有着很好的可操作性及交互性。附图说明图1为本专利技术系统的框架图。图2为本专利技术系统的实现流程图。图3为索引创建的流程图。图4为索引图。图5为搜索的网页页面展示图。图6为搜索结果的网页页面展示图。具体实施方式为了更为具体地描述本专利技术,下面结合附图及具体实施方式对本专利技术的技术方案进行详细说明。本专利技术基于浙江大学医学院附属第二医院的十年间的体检数据,基于对数据的把握之后,本专利技术系统实现分类和搜索两个功能。分类就是给体检数据分类,医生可按照分类目录找到自己所需的数据。分类包括体检项目分类和体检诊断分类,其中诊断分类只是针对B超和放射项目。搜索就是支持医生输入关键字,后台根据关键字进行匹配,找出相关数据。搜索可以基于全部体检数据,也可以基于上面分类的数据结果。最终数据结果内容包括体检者个人信息以及项目体检结果,部分数据在网页上以表格形式展示,同时医生可以点击下载数据按键下载全部数据。为了实现上述功能,本专利技术将一个基于Solr的体检数据搜索系统拆解为三个相互联系的模块:数据预处理模块、Solr搜索引擎平台搭建模块、网页查询模块。本专利技术涉及到的数据库表主要为体检人员表、体检结果表和个人总检单表。体检人员表主要存放了体检者的个人信息,包括身份证、性别、姓名和出生日期;体检结果表存放了项目的体检结果;个人总检单表主要包括总检小结和总检建议,总检小结是根据体检结果表中各个项目的体检结果得到的该次体检诊断。图1为系统框架图,最底层为Oracle数据库,医院数据库中存储亿条以上体检记录;中间为Solr搜索引擎核心,由于Solr是通过Servlet方式实现的,因此需要部署在容器上,本专利技术系统选择最流行的搭建中小规模Web应用的Tomcat。由图1中可知,Solr需要配置分词器、词库以及对应索引数据的配置文件。最上层为应用层,在这层中,可以灵活的使用搜索引擎的查询结果构建自己的搜索应用。如图2所示,本专利技术整个系统各模块的工作过程如下:数据预处理模块主要是数据筛选和体检项目分类表的归纳。首先需要把缺失重要信息的体检数据删除掉,比如:身份证信息、体检项目结果信息。实现体检项目分类功能首先需要对数据库中数据进行分析统计出分类目本文档来自技高网...
一种基于Solr的体检数据搜索系统

【技术保护点】
一种基于Solr的体检数据搜索系统,其特征在于:由数据预处理模块、Solr搜索引擎平台搭建模块和网页查询模块依次连接组成;其中:所述的数据预处理模块用于对医院体检数据库中的所有体检报告进行预处理以及统计分析,以统计出所有体检项目并进行归纳分类,分析提取出关于B超和放射的所有诊断结果;所述的Solr搜索引擎平台搭建模块利用Solr建立全文搜索引擎,以实现索引创建以及索引搜索;所述的网页查询模块用于为用户提供查找的分类目录选择和关键字输入框,并将输出结果有序地显示给用户。

【技术特征摘要】
1.一种基于Solr的体检数据搜索系统,其特征在于:由数据预处理模块、Solr搜索引擎平台搭建模块和网页查询模块依次连接组成;其中:所述的数据预处理模块用于对医院体检数据库中的所有体检报告进行预处理以及统计分析,以统计出所有体检项目并进行归纳分类,分析提取出关于B超和放射的所有诊断结果;所述的Solr搜索引擎平台搭建模块利用Solr建立全文搜索引擎,以实现索引创建以及索引搜索;所述的网页查询模块用于为用户提供查找的分类目录选择和关键字输入框,并将输出结果有序地显示给用户。2.根据权利要求1所述的体检数据搜索系统,其特征在于:所述数据预处理模块对体检报告进行预处理以及分析,具体包括对缺失重要信息的体检报告进行删除,对体检报告中的异常值进行修正处理。3.根据权利要求1所述的体检数据搜索系统,其特征在于:所述数据预处理模块采用Python连接Oracle对体检报告结果表中的组合项目名称和体检项目名称进行统计并人为归纳分类;同时针对B超和放射的诊断分类目录,通过对个人总检单中的总检查小结进行分析,利用正则表达法得到关于B超和放射的诊断结果。4.根据权利要求1所述的体检数据搜索系统,其特征在于:所述Solr搜索引擎平台搭建模块实现索引创建的具体过程为:首先利用Solr的分词组件对待...

【专利技术属性】
技术研发人员:吴健顾盼周立水邱奇波邓水光李莹尹建伟吴朝晖
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1