一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Solr的知识管理和检索方法及系统与流程

2022-05-26 23:50:52 来源:中国专利 TAG:

一种基于solr的知识管理和检索方法及系统
技术领域
1.本发明涉及信息技术领域,具体涉及一种基于solr的知识管理和检索方法及系统。


背景技术:

2.维基百科是一种强调共同协作的开放性web应用程序,允许使用者自由编写的数字内容。它是一部用不同语言写成的网络百科全书,是一个动态的、可自由访问和编辑的全球知识体。维基百科具备开放性、格式简单、链接容易、维护与扩容快捷和修订追踪等特点。维基百科基于mediawiki实现,mediawiki是用php实现的一个开源知识库框架,扩展功能通过各类扩展插件实现。
3.目前,基于wiki的各类开源知识库框架相较于其它知识库框架更加的成熟。但是mediawiki采用了传统的的php语言实现,并非主流的java、html5等语言,不利于系统的扩展;除此之外,mediawiki的整体界面风格仍旧停留在上个世纪,与现今的界面风格严重不符且无法修改。结合企业内部知识闭塞、管理效率不高、分享途径受限等的诸多现实问题,亟需在wiki知识库框架的优良特点基础之上,采用全新的方法技术,实现企业内部知识的高效利用、管理和分享。


技术实现要素:

4.本发明的目的在于提出一种基于solr的知识管理和检索方法及系统。
5.实现本发明目的的技术解决方案为:本发明提出一种基于solr的知识管理和检索系统,包括知识接入模块、知识分类模块、知识检索模块、知识管理模块、知识服务模块,其中:
6.知识接入模块,用于分析知识数据的内部结构,提取共性字段,定义满足业务需求的标准化知识数据结构;基于定义的知识数据结构,针对不同类别的知识数据,实现知识数据的解析、筛选以及到标准化的知识数据结构的转换;以及,
7.定义知识数据的重复性检验规则,对转换后得到的知识数据进行判重,检查转换后的数据是否在本地数据库中已存在,若存在则进行知识数据更新,否则将该知识数据插入数据库;
8.知识分类模块,用于将不同使用途径的知识保存在不同的库中,实现不同知识库的建立与管理;分析知识的内容,判断知识所属的分类,将知识数据打上类别的标签;
9.知识检索模块,用于根据知识数据的目录级别与知识数据间所属关系,建立类别索引,实现知识数据的逐级检索;利用solr提供基于分词索引的知识名称模糊匹配功能,实现知识数据的模糊检索;
10.知识管理模块,用于对数据的操作者信息、操作知识的相关内容进行判定,对操作请求进行审核;赋予使用者不同的操作权限,实现知识使用的管理;
11.知识服务模块,用于提供知识使用的扩展服务,包括热榜展示、知识点赞、评论、收
藏,其中热榜对象是知识数据和系统使用者,通过对知识浏览、点赞、评论、收藏进行操作统计确定排序。
12.进一步的,所述知识接入模块,在知识接入时接收知识数据的标题、描述、具体内容、以及相关附件,将知识的标题、详细内容保存在mysql数据库中,将知识的文件附件保存在minio中。
13.更进一步的,所述知识接入模块,先将信息保存在mysql数据库中的知识的历史记录表中,经过审核后,再写入mysql数据库的知识信息表中供浏览与使用。
14.更进一步的,所述知识接入模块中,知识数据重复性检验是根据知识名称相似程度和知识描述相似程度,以及知识详细内容相似度判断两条知识数据是否为相同数据,在当前知识数据在名称、描述和详细内容上的相似程度均超过某一阈值时,则认为数据为同一个知识数据,其中名称相似程度通过计算当前知识与现有知识名称字符串之间的相似度确定,描述和详细内容相似度通过计算当前知识与现有知识的查重率确定。
15.进一步的,所述知识分类模块,根据知识名称、描述、详细内容以及附件名称进行分类,先将知识数据中的文字进行分词处理,计算已经分类完成的知识中词语、单词出现的词频,再判断当前知识所处的分类。
16.进一步的,所述知识检索模块,采用solr搜索引擎,以标题和描述为域创建索引,设置标题匹配优先级高于描述匹配优先级。
17.进一步的,所述知识管理模块中,知识审核包括对新增知识的审核和对知识修改的审核,提供版本对比功能,通过字符串比对算法将两个版本的区别处标注显示,便于对知识的修改操作进行判断。
18.进一步的,所述知识服务模块中,热榜包括知识热榜和成员热榜,其中
19.知识热榜构建过程如下:每次浏览、点赞、评论、收藏知识时,在后台服务器redis缓存中记录该浏览、点赞、评论、收藏操作,并定时将redis数据库中的操作记录存到mysql数据库中,清除redis缓存;在每个统计时限节点,根据mysql数据库中记录的操作次数,结合操作的权重,计算知识的热度值,并将热度值按序存储在redis缓存中,将数据库中对应操作的内容清空。
20.成员热榜构建过程如下:成员热榜与知识热榜同步更新,当对知识进行创建和修改操作时,在mysql数据库的历史记录表中进行记录,并保留相应操作的类型、操作的时间、操作的结果,选择成果状态是“审核通过”的历史记录进行计算;在每个统计时限节点,根据历史记录表中的操作记录,结合操作权重,计算员工贡献值,将员工贡献值按序保存到redis缓存中。
21.本发明还提出一种基于solr的知识管理和检索方法,基于所述的基于solr的知识管理和检索系统,实现基于solr的知识管理和检索。
22.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行,所述计算机程序时,基于所述的基于solr的知识管理和检索系统,实现基于solr的知识管理和检索。
23.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,基于所述的基于solr的知识管理和检索系统,实现基于solr的知识管理和检索。
24.本发明与现有技术相比,其显著优点为:结合企业内部知识来源及其特征,实现知
识的统一化接入、动态分类、高效检索、集中化管理和便捷分享,提供了方便的管理操作方式,在浏览知识的同时,可以方便的修订知识,新增知识,实现对现有知识资源的高效管理与利用,能够在企业知识积累过程中起到良好的接入、分类、管理和检索作用。
附图说明
25.图1为基于solr的知识管理和检索方法的整体流程图。
26.图2为基于solr的知识管理和检索系统的整体架构图。
27.图3为知识接入重复性检查的流程图。
28.图4为关键词检索的流程图。
具体实施方式
29.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
30.为克服内部知识闭塞、管理效率不高、分享途径受限等的诸多问题,本发明提供了一种基于solr的知识管理和检索方法及系统,涉及知识接入、知识分类、知识检索、知识管理和知识服务五方面内容。各组成部分和具体实现介绍如下:
31.1、知识接入模块
32.知识接入模块提供对企业内部知识的积累和录入服务。通过分析知识数据的内部结构,提取共性字段,定义满足业务需求的标准化知识数据结构;基于定义的知识数据结构,针对不同类别的知识数据,实现知识数据的解析、筛选以及到标准化的知识数据结构的转换等操作;定义知识数据的重复性检验规则,对转换后得到的知识数据进行判重,检查转换后的数据是否在本地数据库中已存在,若存在则进行知识数据更新,否则将该知识数据插入数据库。
33.知识接入时接收知识数据的标题、描述、具体内容等、以及相关附件,知识的标题、详细内容等信息保存在mysql数据库中,知识的文件附件保存在minio中。本发明将企业内部知识分为文本类型知识和文件类型知识,通过所见即所得的富文本编辑器,将文本类型知识以html文本标记语言的格式录入到mysql数据库中,极大简化了将符号数据转为可视化数据的复杂度;将文件类型知识统一录入到高性能的非结构化存储容器中,方便预览和下载。
34.知识的接收也是先将信息保存在mysql数据库中的知识的历史记录表中,刚创建的知识词条不会马上存储到用户可查询使用的知识信息表中,知识需要经过知识管理模块的审核,知识审核不会立刻进行,在审核前将待审核知识词条保存到历史记录表并标记状态,当知识经过审核,成果将会写入知识信息表中,提供浏览与使用。新的知识词条建立,提供数据的重复性检验功能。知识数据重复性检验,根据知识名称相似程度和知识描述相似程度,以及知识详细内容相似度判断两条知识数据是否为相同数据,在当前知识数据在名称、描述和详细内容上的相似程度均超过某一阈值时,则认为数据为同一个知识数据。名称相似程度根据现有算法计算当前知识与现有知识名称字符串之间的相似度。描述和详细内容相似度通过文字查重算法到后台数据库中查询匹配,根据重复率是否大于某一阈值进行
判断。若重复性较低可进行接入,重复率较高可根据现实需求到已有相似的知识处进行修改。
35.2、知识分类模块
36.知识分类模块包括库的管理和知识的分类。库的管理将不同使用途径的知识保存在不同的库中,满足不同知识库的建立与管理;知识的分类通过分析知识的内容,智能辅助判断知识所属的分类,将知识数据打上类别的标签。
37.知识服务的不同库:是管理者根据企业实际业务需求建立,比如建立素材库、模版库、百科库等。
38.知识的分类:是根据知识名称、描述、详细内容以及附件名称进行分类,在知识接入时进行分类。在知识接入时,系统加以智能辅助判断、知识分享者主观判断确定知识所属分类,知识分享者主要依靠自己的常识与掌握知识进行判断,智能辅助判断先将知识数据中的文字进行分词处理,计算已经分类完成的知识中分词的词频,计算时可以省略公用的一些词汇(比如中文字符的“我”、“他”、“是”等,或者英文字符“a”、“this is”等。通过不同类别知识中不同词语、单词出现的不同频率,判断知识所处的分类。智能分析的结果存在误差,只提供用户选择分类时的智能参考。分类后,给接入知识打上所处类别的标签,在数据库字段中添加相应属性和目录级别。本发明将企业内部知识按来源及用途进行高效分类,使内部知识结构层次脉络清晰,不仅利于分类管理,而且利于内部知识的持续积累和扩充。
39.3、知识检索模块
40.知识检索模块分为知识分类检索与知识模糊检索。知识分类检索模块是根据使用者按类别查询的需要,面向知识数据的目录级别与知识数据间所属关系等属性字段,建立类别索引;知识模糊检索模块使用了solr提供基于分词索引的知识名称模糊匹配功能,实现对名称中包含某些关键字的知识数据的检索,以及提供查询某一名称相关知识和查询提及查询类容的知识数据的功能。
41.知识模糊检索:具体实现是采用solr这款搜索引擎,词条整个结构包括标题、描述、内容这三个部分,为了减少维护索引的压力,只以标题和描述两部为域创建了索引。本发明摒弃mysql数据库的like等低效率查询语句,采用搜索引擎实现数据检索,不仅可以实现分词检索,而且检索效率也大幅度提高。
42.另外为了让搜索结果更加符合需要,需要对自定义排序机制做一些修改,使得标题匹配比描述匹配优先级更高,全词匹配的优先级最高;为提高solr的分词检索的准确度,结合日常和网络常用词,引入扩展词库和停止分词词库。
43.solr的打分机制和词项词频、域权重等有关,底层是基于lucence的boost打分规则,有着复杂计算公式,这里不做过多叙述。上述两项排序功能的实现主要和域权重有关,solr的每种查询解析器都有着很多可选的参数,本系统中使用edismax查询解析器,eidsmanx支持boost函数和分数相乘作为打分结果,通过设置参数时让标题的权重大于描述的权重,可让标题匹配结果排序高于描述匹配结果。solr配置时需要对每个域设置分词器,对于标题和描述内容都使用的中文分词器——ik分词器,ik分词器支撑对中文的智能分词。solr支持域的复制,在配置时创建标题的复制域,使用字符串分词器对其分词,在查询时将标题的复制域权重设为最高,这样如果标题和输入的查询字段完全匹配,排序结果会最高。本发明对标题和描述字段进行分词,实现查询时的全文检索服务,对匹配结果按关
键词分词匹配度进行排序,匹配度高的和检索关键词相关性最高。
44.分类检索:是根据成果在mysql数据库中的知识的分类、目录级别的相关字段来检索,从顶级目录级别0级开始查询,根据信息所处分类逐级检索。
45.4、知识管理模块
46.知识管理模块包括知识审核管理与知识操作管理。知识审核管理是保护知识数据的安全,防止使用者恶意或者无意的对数据造成损害,或者是提交了无用、有害的知识数据,对数据的操作者信息、操作知识的相关内容进行判定,对操作请求进行审核;知识操作管理是从安全角度出发,赋予使用者不同的操作权限,实现知识使用的管理与保证了知识的安全。
47.知识审核:包括对新增知识的审核和对知识修改的审核,在对知识修改进行人工审核时,为了方便看出知识修改的地方,在系统中增加了版本对比功能。通过字符串比对算法,将两个版本的区别处用标注显示,让审核人员快速对比两个版本的修改内容,对此次知识的修改操作进行判断。采用diff-match-patch算法,通过对文本的比较、匹配和生成补丁,最后以html高亮的方式将数据返回给前端。本发明按新增和修改知识划分为两大类别的知识审核机制,实现新知识在被发现前的内容审核,能够达到新知识对访问者具备使用价值的目的。
48.知识操作管理:是从安全角度出发,赋予使用者不同的操作权限,分为新增、修改、评论知识等权限,采用基于访问级别的权限控制,切实保障知识的安全访问和调用。
49.5、知识服务模块
50.知识服务模块提供知识使用的相关服务,达到提升体验的目的,包括热榜模块、知识点赞、评论、收藏。热榜模块对象是知识数据和系统使用者,包括知识热榜和成员热榜,目的是鼓励知识分享和知识交流,排行榜根据知识浏览、点赞等相关字段进行计算统计;点赞、评论、收藏都是为知识使用服务,推动知识的互动与分享。
51.知识热榜:每次浏览一个具体的知识,浏览页面设置计时,当在知识浏览页面停留一定时间,将会在后台服务器redis缓存中记录此次浏览记录,对知识进行点赞、评论、收藏相关操作,也会往后台服务器redis缓存中记录相应操作。没有将成果的浏览、点赞记录直接记录在mysql数据库中是减少对mysql数据库的访问,防止大量的访问降低mysql数据库的效率。使用spring boot自带的定时器,设置每天凌晨之时(用户较少时),将redis数据库中的成果使用记录存到数据库中,并清除redis缓存中的成果使用记录。使用spring boot自带的定时器,在每周一的凌晨设置定时任务,根据mysql数据库中的记录信息计算知识一周的热度值,热度值是根据浏览、点赞、评论、收藏的操作次数来进行计算,其中这些操作每个操作的权重不一样,将热度值按序存储在redis缓存中,设置过期时间为一周,并将数据库中对应操作的内容清空。
52.成员热榜:成员热榜与知识热榜功能同步更新,在每周日的凌晨设置定时任务,当对知识进行创建和修改操作时,操作的记录都会在mysql数据库的历史记录表中进行记录,并保留相应操作的类型(创建、修改)、操作的时间、操作的结果(审核通过与否),选择成果状态是“审核通过”的历史记录进行计算,根据操作时间选取最近一周的操作,设置“创建”的权重为10,修改权重为3,选择贡献值排序前10的员工保存到redis缓存中,知识创建和修改操作频率比知识使用频率低,操作的记录可直接保存在数据库中。根据所有成果的操作
者以及操作种类(创建、修改),选择成果状态是“审核通过”的历史记录进行计算,将员工贡献值排序保存到redis缓存中。
53.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
54.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献