知识和经验:MongoDB在信息资源共享建设的应用实践
优采云 发布时间: 2022-10-17 09:28知识和经验:MongoDB在信息资源共享建设的应用实践
一、背景介绍
成立于1950年代,具有60多年历史的中心(以下简称“中心”)提供以软科学为特色的服务;中心服务提供的产品是大量专业化、高质量的专业技术报告。如何更好地利用这些海量文献促进工作发展,是当前面临的核心问题。
为此,信息化部门开始建设“信息资源共享系统”(以下简称“系统”)。构建系统的目的
标志和含义是:
2.系统使用技术
2.1 系统建设要点
经研究,中心认为可以借鉴百度、搜狗等网民常用的互联网检索系统。互联网用户检索各种网页,而该系统的用户检索中心拥有的文件。基于此,我们需要考虑以下几点:
1、如何将大量的文档存储在一个数据平台的中心,这个平台不仅要保存好文档,还要提供高效的查询和导出服务。
2. 一个文档往往有几万个汉字。如何让用户以最快的速度了解本文档的内容,从而判断内容是否符合用户的要求。
一方面,用户应该能够找到相关文档,另一方面,检索速度应该满足一般标准:对用户请求的响应时间不超过 3 秒。
从这点来看,传统的工程建设方式(比如基于关系型数据库)已经不够用了,所以这里介绍一下大数据、互联网等符合要求的技术。
2.2 系统构建技术
系统建设所采用的技术如下: MongoDB,用于大型数据库存储的文档数据库;微服务SpringBoot,提升检索质量,方便前后端分离;和用于文档文字处理的自然语言处理 (NLP) 技术。下面简要介绍这些。
2.2.1 MongoDB数据库
本系统部门使用的数据库版本为3.6,部署服务器操作系统为windows server 2008。由于服务器硬件和操作系统软件的性能质量比较一般,所以数据库在系统运行中的性能并不是最优的.
2.2.2 微服务和SpringBoot
微服务最重要的特点是,由于服务很小且可独立部署,因此不再需要繁琐的操作来更改应用程序的小部分。SpringBoot是Java领域微服务架构的最优落地技术,Spring Boot 2.0+MongoDB 3.6方案是本系统采用的服务端方案。
2.2.3 自然语言处理
自然语言处理(NLP)以语言为对象,以计算机作为语言研究的有力工具,在计算机的支持下对语言信息进行定量研究。这里我们使用两个重要的部分:
1.自动汇总。一种信息压缩技术,利用计算机按照一定的规则自动提取文本信息,并将其采集成简短的摘要。
2. 关键词提取。从文本中提取一些与这个 文章 的含义最相关的单词。关键词是从报告和论文中选择的一个词或术语,用于表达全文的主题内容信息,用于文献索引。
摘要和关键词在系统构建中有着重要的应用,是工作不可缺少的基础和前提。本系统使用 java 工具包 ansj 来执行这样的工作。
另外,中心出品的文档存储格式基本有:pdf、word、excel、ppt格式。因此,系统使用相应的tika软件包提取文件中的文本内容,然后自动抽象并关键词提取文本内容。
3. 系统设计
系统的主要功能模块由以下两个模块组成:信息采集和信息检索。
中心利用“信息采集”模块对批量上交的大量文件采集进行处理,并将处理结果保存在数据存储中。用户可以使用“信息检索”功能检索采集的结果,并对检索结果进行详细读取等操作。这里需要注意的是,本文所使用的示例文档均来自公共新闻网站。
3.1 信息采集
3.1.0 工作流程
单据采集进入系统的流程步骤如下:
1. 文件采集
2.全文提取
3.自动总结和关键词提取
4.文档间相关性计算
本模块内容如下:文档采集、全文提取、自动摘要和关键词提取、文档间相关性计算。文章不仅介绍了各个子模块的工作内容,还用图例展示了工作效果。
3.1.1 文件采集
文件采集 在后端服务器上实现。批量准备大批量的文档,逐一读取,生成元数据(年份、作者、部门等)。将文档本身和生成的元数据保存到数据库中。
图 1. 服务器上的准备文件为 采集。可以看到“文润玉皇阁.docx”是一个示例文件,文件大小为9MB。
图 2. 采集 之后的文档存储在 MongoDB 数据库 (GridFS) 中。从图中可以看到数据库中存储的文档“温润如玉冠小屋.docx”。数据库管理员可以将文档完全下载到本地。
图 3. 显示为该文档生成的元数据(部门:管理办公室,年份:2019,类别:报告……)。需要注意的是,这些文档在数据库中整体存储为pdf/doc/ppt格式文件,用户无法查看和搜索其内容。
3.1.2 全文提取
读取上一步保存的文档,读出所有文本内容,然后将这些内容保存到数据库中(MongoTemplate技术)。
图 1. 存储在数据库中的全文。由于文献内容较多,读者只能看到部分内容。事实上,全文有一万多字。
3.1.3 自动总结和关键词提取
使用NLP处理软件包自动生成摘要关键词提取“温润如玉的长荣航空皇家桂冠小屋.docx”中提取的全文,并存入数据库(MongoTemplate技术)。
图 1.“长荣皇家皇冠客舱.doc”自动摘要生成的内容。
图 2. 提取的 关键词。从该文档中提取的关键词有:Evergreen、Airline、Business Class、Lounge、Seat、Laurel Class、Taipei等。
3.1.4 文档间相关性的计算
当用户发现一个对他的工作有用的文档时,他一定想进一步了解一些相关的文档。系统在后台计算每个文档的相关度,获取与该文档相关的一批文档,并保存起来供用户使用。
该函数背后的数据科学原理是可信度计算:关键词同时出现在文档1和文档2中的数量与文档1关键词的数量的比例,值为(0,1 ] ,值越大,相关性越高。采集到《长荣航空的桂冠小屋,温暖如玉.docx》的相关文档如下,可以看出,这些文档都是关于民航飞行的。
3.2 信息检索
3.2.0 工作流程 本功能面向中心的广大用户。用户可以使用该功能模块在网页上进行相关搜索。系统一般可以用下图来说明各个操作的工作流程:
该功能涉及系统的三层结构:web前端、运行在服务器JAVA EE平台上的微服务架构、文档数据库MongoDB。
服务器部署的微服务概览如下图所示:
该功能模块可以分为以下几个子模块:关键词检索、文献信息浏览。
3.2.1 关键词搜索
信息检索模块主要面向中心用户。它提供了类似于百度检索的功能:用户在文本查询框中输入关键词后,页面返回一批相关文献数据,用户可以查看详情。内容。系统提供文件名检索、目录(摘要和关键词)检索和全文检索。
图 1. 用户搜索文件名中带有“engine”的文档。用户提交关键词“引擎”后,网页显示相关文献采集。如果文档过多,用户可以点击分页查看更多内容。本次检索到72条相关文献,左侧显示了这72条记录(分类、年份、作者、部门等)对应的分类和摘要
图 2. 显示每条记录(文档)呈现给用户的内容。包括文件名、摘要(字数过多会截取前几个交叉)、关键词、安全级别、年份等。
3.2.2 浏览文献信息
如果用户想了解更多关于其中一个查询结果的信息,用户可以打开一个新页面来查看它。
图 1. 显示用例“Pratt & Whitney 推出新的航空发动机 MRO 服务品牌 EngineWise”
该功能不仅显示一个文档的详细信息,还显示与该文档相关的其他文档的简要信息(推荐阅读)。
图 2. 显示与“Pratt & Whitney 推出新的航空发动机 MRO 服务品牌 EngineWise”相关的其他文献。可以看出,这篇和相关的文献都是关于发动机维修(MRO)的。
4.系统运行
系统目前拥有收录近42万份文档(360GB),可供中心工作人员查询下载。系统运行良好,平均用户请求响应时间小于2.5秒。
5. 未来工作
未来的工作可以分为事务性工作和系统功能扩展两部分。事务性工作。
信息扩展采集:力争到2022年达到70万条数据(500GB)。
系统功能扩展:模仿百度、搜狗等互联网检索系统。一些有益的功能:智能检索,提升用户体验,更重要的是在使用过程中不断发现新的知识点。
案例研究:【seo诊断分析报告】从seo优化、网站结构方面编写一份有时效性的seo诊断报告
SEO的诊断似乎只与第三方SEO服务商有关。否则,SEO从业者需要在每个阶段写一份SEO诊断报告,有利于直观评估一个阶段的工作效果。
那么,您如何开发网站SEO 诊断程序?
网站诊断方案其实由两部分组成,一部分是SEO的免费诊断报告,网站的基本问题,另一部分是SEO的诊断方案,由SEO诊断服务机构。
今天,我们将重点分析如何为SEO编写基本诊断报告,其中包括:
1.网站域名诊断
(1) 网站域名包括:
核心关键词、原创页面和转发页面的页面收录率、关键页面收录率的范围是多少,将清楚地反映网站对搜索引擎是否足够友好。
(二)域名是否受到处罚:
在检查一个网站域名是否被处罚时,很多SEO教程都会使用网站首页,无论是搜索结果,来判断是否被处罚,这是片面的。
更好的方法是搜索页面的完整标题。如果大量的完整标题没有在搜索结构中排名,它们很可能会受到惩罚。
2.网站结构诊断
(1) URL扁平化或树形结构
对于页面较少的网站,我们推荐扁平的网站结构,对于页面较多的网站,我们应该选择树状结构,并且尽量保证3次点击到达网站 中的任何单个页面。
(2)面包屑导航是否收录关键词和链接
网站 上的面包屑导航通常会忽略目标关键字的收录。如果条件不允许,可以使用title标签。同时,需要确保面包屑是超链接的,而且业内有很多大牌都是用纯文本做面包屑的。
(3) URL是否标准化?
简而言之,尝试将动态 URL 更改为静态或伪静态,从而降低搜索引擎抓取重复页面的可能性。
(4) 链内相互推荐
内部链接,是否相互推荐,确保每个内部链接相关,内部锚文本是否自然,避免过于单一和收录关键字。
3.网站代码诊断
(1)网站代码是否简洁,避免过多的冗余,简化并结合CSS和JS代码。
(2)h1-h3标签、tags和noffolw标签是否合理使用。
(3)无论网站每个页面是否不断更新,吸引蜘蛛不断爬取,都可以通过代码调用侧边栏中比较新的文章来解决。
4. 关键词诊断
(1) 标题是否收录关键字?
(2)内容页面是否有关键词的堆积,是否考虑语义相关性。
(3)核心关键词和长尾关键词,网站内栏目和内容页面的布局是否准确。
(4)是否收录有搜索量的关键词页面。
5. SEO外链诊断
(1)友情链接是否有太多不一致,被处罚的情况,权重不匹配的比例是多少。
(2)单个向导的导出链接是否过多,是否指向行业页面。
(3)外链质量评价:主域名数、知名页面数、低质量链接比例。
(4)外链现有分销渠道是否过于单一。
6. 社交媒体影响力
社交媒体影响评估是许多 SEO 诊断分析报告中缺失的部分。它直接体现了网站品牌的影响力。我们知道品牌词的搜索量和点击率会直接影响网站的权重。
那么,您在进行 SEO 诊断时使用什么 SEO 分析工具?
您可能需要:反向链接分析工具、关键字排名工具、内容页面收录工具。这里没有具体的建议。我们将在未来开始 SEO 工具的主题。我们将在本主题中推荐一些*敏*感*词*优质的SEO工具。
总结:以上对SEO的诊断分析是比较基础的分析。内容和页面加载速度没有进一步讨论,仅供参考。