docc-document-center

所属分类:文章/文档
开发工具:Java
文件大小:0KB
下载次数:0
上传日期:2022-12-21 04:19:04
上 传 者sh-1993
说明:  基于Elasticsearch与MariaDB的文档检索中心(文档中台系统)。基于领域驱动设计与CQRS架构实现。,
(Document retrieval center (document middle platform system) based on Elasticsearch and MariaDB. Domain driven design and CQRS architecture implementation.,)

文件列表:
LICENSE (1083, 2022-12-20)
document-center-app/ (0, 2022-12-20)
document-center-app/pom.xml (1444, 2022-12-20)
document-center-app/src/ (0, 2022-12-20)
document-center-app/src/main/ (0, 2022-12-20)
document-center-app/src/main/java/ (0, 2022-12-20)
document-center-app/src/main/java/com/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/assembler/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/assembler/CategoryAssembler.java (893, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/assembler/ColumnAssembler.java (708, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/assembler/CommentAssembler.java (731, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/assembler/DocumentAssembler.java (754, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/assembler/SubCommentAssembler.java (800, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/assembler/TagAssembler.java (639, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/category/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/category/CategoryCommandService.java (399, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/category/impl/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/category/impl/CategoryCommandServiceImpl.java (1743, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/column/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/column/ColumnCommandService.java (375, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/column/impl/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/column/impl/ColumnCommandServiceImpl.java (1814, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/comment/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/comment/CommentCommandService.java (707, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/comment/impl/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/comment/impl/CommentCommandServiceImpl.java (3427, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/document/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/document/DocumentCommandService.java (371, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/document/impl/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/document/impl/DocumentCommandServiceImpl.java (2995, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/tag/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/tag/TagCommandService.java (216, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/tag/impl/ (0, 2022-12-20)
document-center-app/src/main/java/com/dpwgc/document/center/app/command/tag/impl/TagCommandServiceImpl.java (782, 2022-12-20)
... ...

# DOCC-Document-Center ## 基于 DDD + CQRS + GraphQL 的文档检索中心(文档中台系统) #### `在写` *** ### 实现功能 * 文档管理与检索 * 评论管理与展示 * 标签统计与查询 * 专栏管理与展示 * 分类树的构建与展示 ##### 对外提供`文档管理、文档多条件组合检索、评论管理、评论查询、标签统计与查询、专栏管理与查询、树型分类结构生成、分类查询`等操作接口,可供博客应用、文库应用、公告应用等需要依靠文档检索功能的前台系统快速接入使用。 (注:所有更新操作均采用乐观锁机制,更新失败重试次数可在配置文件里设置) ![ddd](https://github.com/dpwgc/docc-document-center/blob/master/./img/ddoc.png) *** ### 系统架构 ![ddd](https://github.com/dpwgc/docc-document-center/blob/master/./img/ddd.png) * 基于领域驱动与CQRS架构设计,四层架构(ui -> app -> domain -> infrastructure),代码层面读写分类。 * 数据存储:Elasticsearch与MariaDB,Elasticsearch存储文档数据,MariaDB存储分类、标签与评论数据。 #### 水平分层 * command `写入模块` * query `查询模块` * document `文档模块` * category `分类模块` * tag `标签模块` * comment `评论模块` * column `专栏模块` #### 垂直分层 * sdk `sdk:提供表示层所需的传输对象` * ui `表现层:提供对外接口服务以及配置服务` * app `应用层:处理业务逻辑` * domain `领域层:提供仓储服务,封装底层数据` * infrastructure `基础服务层:提供DB、ES、以及常用工具服务` *** ### 接口文档 #### 启动项目后访问:http://localhost:8000/doc.html ![ddd](https://github.com/dpwgc/docc-document-center/blob/master/./img/swagger.png) *** ### 存储格式 #### Elasticsearch索引(`文档`存储) ##### 索引名称:docc-document-center-product ##### 如果没有创建该索引,项目启动时会自动创建索引,但是mapping要自行用kibana创建 | 字段名称 | 字段解释 | 字段类型 | |-------------|------------------------------------------------|-----------| | id | ES主键id | `keyword` | | app_id | 文档所属应用id | `keyword` | | category_id | 文档所属分类id | `keyword` | | column_id | 文档所属专栏id(允许多个) | `keyword` | | author_id | 文档作者id(允许多个) | `keyword` | | document_id | 文档id | `keyword` | | title | 文档标题 | `keyword` | | content | 文档内容 | `keyword` | | tag | 文档标签(允许多个) | `keyword` | | remarks | 文档备注 | `keyword` | | extra | 文档附加内容(自定义) | `keyword` | | summary | 文档总结摘要 | `keyword` | | auth_level | 文档查看权限级别(0~99自定义,用户权限等级如果低于authLevel,则不能查看该文章) | `Long` | | score | 文档推荐分值(自定义,可按此字段对文档进行排序,用于热门文档推荐)` | `Long` | | love_num | 文档收藏数(可按此字段对文档进行排序) | `Long` | | like_num | 文档点赞数(可按此字段对文档进行排序) | `Long` | | read_num | 文档阅读数(可按此字段对文档进行排序) | `Long` | | share_num | 文档分享数(可按此字段对文档进行排序) | `Long` | | comment_num | 文档评论数(可按此字段对文档进行排序) | `Long` | | filter | 文档检索过滤条件(自定义,允许多个,例:1-仅自己可见、2-所有人可见) | `Long` | | attr | 文档属性(自定义,允许多个,例:1-转载文章、2-原创文章) | `Long` | | type | 文档类型(自定义,例:0-普通文章,1-官方公告) | `Long` | | status | 文档状态(0-删除,1-正常) | `Long` | | create_time | 文档创建时间 | `Long` | | update_time | 文档更新时间 | `Long` | #### MariaDB索引(`分类`、`专栏`、`标签`、`评论`、`子评论`存储) ```sql create table `category` ( id bigint unsigned auto_increment primary key, app_id varchar(63) not null comment '应用id', category_id varchar(63) not null comment '分类id', parent_id varchar(63) not null comment '父类id', category_name varchar(127) not null default '' comment '分类名称', detail text default '' comment '详情', extra text default '' comment '附加内容', score bigint not null default 0 comment '排序权值', attr int not null default 0 comment '属性', type int not null default 0 comment '类型', status int not null default 1 comment '状态(1-正常、0-删除)', version bigint not null default 0 comment '版本号(乐观锁)', create_time bigint not null default 0 comment '创建时间', update_time bigint not null default 0 comment '更新时间' ) ENGINE = InnoDB DEFAULT CHARSET = utf8; create table `column` ( id bigint unsigned auto_increment primary key, app_id varchar(63) not null comment '应用id', category_id varchar(63) not null comment '分类id', column_id varchar(63) not null comment '专栏id', author_id varchar(63) not null comment '作者id', column_name varchar(127) not null default '' comment '专栏名称', detail text default '' comment '详情', extra text default '' comment '附加内容', score bigint not null default 0 comment '排序权值', document_num bigint not null default 0 comment '该专栏下的文档数量', attr int not null default 0 comment '属性', type int not null default 0 comment '类型', status int not null default 1 comment '状态(1-正常、0-删除)', version bigint not null default 0 comment '版本号(乐观锁)', create_time bigint not null default 0 comment '创建时间', update_time bigint not null default 0 comment '更新时间' ) ENGINE = InnoDB DEFAULT CHARSET = utf8; create table `tag` ( id bigint unsigned auto_increment primary key, app_id varchar(63) not null comment '应用id', tag_name varchar(127) not null default '' comment '标签名称', number bigint not null default 0 comment '带有该标签的文档数量', status int not null default 1 comment '状态(1-正常、0-删除)', version bigint not null default 0 comment '版本号(乐观锁)', create_time bigint not null default 0 comment '创建时间', update_time bigint not null default 0 comment '更新时间' ) ENGINE = InnoDB DEFAULT CHARSET = utf8; create table `comment` ( id bigint unsigned auto_increment primary key, app_id varchar(63) not null comment '应用id', document_id varchar(63) not null comment '文档id', comment_id varchar(63) not null comment '评论id', author_id varchar(63) not null comment '作者id', content text default '' comment '主体内容', extra text default '' comment '附加内容', like_num bigint not null default 0 comment '点赞数', love_num bigint not null default 0 comment '收藏数', share_num bigint not null default 0 comment '转发数', sub_comment_num bigint not null default 0 comment '子评论数', attr int not null default 0 comment '属性', type int not null default 0 comment '类型', status int not null default 1 comment '状态(1-正常、0-删除)', version bigint not null default 0 comment '版本号(乐观锁)', create_time bigint not null default 0 comment '创建时间', update_time bigint not null default 0 comment '更新时间' ) ENGINE = InnoDB DEFAULT CHARSET = utf8; create table `sub_comment` ( id bigint unsigned auto_increment primary key, app_id varchar(63) not null comment '应用id', document_id varchar(63) not null comment '文档id', comment_id varchar(63) not null comment '评论id', sub_comment_id varchar(63) not null comment '子评论id', author_id varchar(63) not null comment '作者id', reply_to varchar(63) not null comment '回复对象id', content text default '' comment '主体内容', extra text default '' comment '附加内容', like_num bigint not null default 0 comment '点赞数', love_num bigint not null default 0 comment '收藏数', share_num bigint not null default 0 comment '转发数', attr int not null default 0 comment '属性', type int not null default 0 comment '类型', status int not null default 1 comment '状态(1-正常、0-删除)', version bigint not null default 0 comment '版本号(乐观锁)', create_time bigint not null default 0 comment '创建时间', update_time bigint not null default 0 comment '更新时间' ) ENGINE = InnoDB DEFAULT CHARSET = utf8; ```

近期下载者

相关文件


收藏者