摘 要
随着科技的快速发展, 越来越多的医药公司积攒了大量的医药文档。这些文档资源如何高效、快速的被管理员管理,以及被用户检索,如何统一的实现资源管理与资源开放,成为了当下医药公司待解决的问题。
普通的、零散的、单一的文档管理方式已经不能满足企业的要求,企业需要的是综合、协同、集成化的文档搜索解决方案。构建基于Node.js的医药搜索平台,实现对文档的添加、删除、编辑等常见的操作,以及对大规模数据的快速检索匹配,用户对文档的查看权限等功能。为了解决如上问题,需要使用文档管理系统来对文档进行管理,如果文档是面向用户的还需要添加用户管理系统,权限系统等相应的辅助系统。
建立文档管理系统的目的就是要实现对文档的集中存储和管理,从而可以很好地保证文档的存储安全,提高文档的安全访问级别,很好地实现文档的分发、查询、共享,提高企业的文档管理和使用效率。在Internet环境下,我们设计的新型文档管理系统的体系结构采用B/S结构。本地用户可以通过企业内部网络直接进入文档管理系统,当然也可以进入企业的其他的业务系统。移动办公用户以及企业的客户可以通过门户站点访问到本系统,分支机构以及企业的合作伙伴可以通过Web服务方式建立与系统的连接。
本文最终实现一个基于Node.js的医药文档搜索平台,其中包括用户管理模块、文档管理模块、系统设置模块等多个子模块。并利用Sphinx和MYSQL实现了具有分词功能的多语言文档搜索引擎。前端利用Angular实现了Single Page Application。本系统现在已经在阿里云服务器上部署应用,并上线。
关键词:Node.js,Sphinx,Angular.js,ORM
ABSTRACT
With the rapid development of technology, more and more pharmaceutical companies accumulate a large number of medical documents. These documents how resource efficient, rapid management by an administrator, and retrieved by the user, how to achieve a unified resource management and resource opened as the current problems to be solved pharmaceutical companies.
Ordinary, fragmented, single document management methods can not meet the requirements of enterprises, enterprises need a comprehensive, coordinated, integrated document search solutions. Construction Node.js based medical search platform, to add to the document, delete, edit and other common operations, and rapid retrieval of large-scale data matching the user permission to view the document on Zen and other functions. In order to solve the above problem, we need to use document management system to manage the document, if the document is a user-oriented management systems also need to add a user, system privileges and other appropriate assistance systems.
The purpose of establishing the document management system is to achieve the centralized document storage and management, which can ensure the safe storage of documents, improve security access level of the document, to achieve a good distribution of the document, query, share, and improving document management and efficiency. In the Internet environment, the architecture we designed a new document management system using B / S structure. Local users can go directly through the corporate intranet document management system, of course, can also enter other business systems business. Mobile office users and corporate customers can access the system through the portal, branch offices and business partners can establish a connection with the system through a Web service.
In this paper, the ultimate realization of a medical document search based Node.js platform, including user management module, document management module, system settings module multiple sub-modules. And using Sphinx and have realized the word MYSQL function multi-language document search engine. Angular use front-end to achieve a Single Page Application. The system is now deployed on the application server Ali cloud and on-line.
Key words: Node.js, Sphinx, Angular.js, ORM
目 录
摘 要
ABSTRACT
1 绪论
1.1 课题来源及研究背景
1.2 技术栈的选择
1.3 论文主要工作内容
2 系统数据层的设计与实现
2.1 基于ORM实现的ActiveRecord
2.2 用 Bookshelf.js 来构建数据层基类
2.3 示例:构建用户 Model
3 角色权限系统与用户管理模块的实现
3.1 基于角色的访问控制
3.2 权限控制
3.3 用户动态权限数据表的设计
3.4 用户权限动态分配功能实现
3.5 用户管理模块的实现
4 文档的存储与文档项权限的设计
4.1 文档管理功能描述
4.2 面向文档动态权限的数据格式
4.3 文档动态权限数据表的设计
4.4 功能设计及分析
4.4.1 元文档的上传与解析
4.4.2 元文档的编辑
4.4.3 Excel格式元文档的下载
5 基于Sphinx的检索子系统
5.1 使用Sphinx和MySQL实现多国语言全文搜索
5.2 文档搜索接口的实现
5.3 前台搜索结果分页显示
6 基于Angular.js 实现前台SPA
6.1 文档检索平台的 UX 与 SPA
6.2 初始化 Angular 项目
6.3 SPA路由前置
6.4 Service 的实现与数据预加载
7 结 论
致 谢
参 考 文 献
图 录