产品背景
市场分析
目前搜索类产品多集中在阿里云、腾讯云等大型云厂商手中,主要提供公有云服务的能力,而提供私有化部署,产品功能齐全,支持跨系统查询的智能搜索服务产品市场上较少。嘉诚统一搜索管理系统支持多数据源接入,支持跨系统统一搜索,支持私有化部署,能很好解决以上问题。
用户痛点
- 在复杂系统中,存在大量多源异构数据,难以统一检索。
- 搜索引擎技术复杂,用户自行搭建,需要消耗大量成本。
- 传统数据检索技术存在同步和检索数据的性能和准确性问题。
产品概述
嘉诚统一搜索管理系统是一款基于私有云,也可便于单点系统集成的搜索引擎技术支撑和业务管理系统。
该产品可用于跨系统的一体化搜索引擎,提供全域信息检索管理,也可帮助一般产品实现跨表、高性能、高准确度、方便易用的全文检索系统。
产品定位
致力于海量数据搜索分析,实现企业内部资源一键搜索,助力产品或复杂项目快速搭建统一的智能搜索服务。
产品特性
- 精准的搜索结果
- 便捷易用的搜索引导服务
- 多数据源、多种同步方式的数据同步功能
- 灵活、高性能的搜索接口
- 高可配置的自定义词典功能
- 安全的数据权限控制
产品需求
功能性需求
- 统一搜索,提供统一搜索页面,进行全部数据的搜索展示。
- 数据同步,支持多数据源,多种同步方式,高性能数据同步功能。
- 索引管理,用户自定义检索数据来源,对用户索引进行统一管理。
- 多租户,支持多租户管理,支持用户定义数据源和数据接口。
- 对外接口,提供统一搜索接口及用户自定义搜索接口SDK。
- 数据统计,提供全部数据及搜索数据的统计分析功能。
- 词典管理,支持用户自定义热词、停用词、同义词,支持热更新。
非功能性需求
- 高性能数据写入、查询
- 快速部署脚本
- 系统安全,支持等保
产品主要功能
模块 | 功能 |
---|---|
数据同步 开发数据同步接口,帮助用户快速完成数据同步工作。同时支持基于数据集成系统进行数据同步。 |
|
索引管理 提供索引的创建、删除、配置以及索引数据浏览的功能,方便用户管理索引、查看原始业务数据。 |
|
智能搜索 提供一个统一的搜索功能,能够支持跨多索引统一搜索,支持自动补全、搜索建议等用户引导功能,并提供对外接口和SDK,方便业务系统对接。 |
|
词典管理 提供主词、停用词、同义词管理功能,支持词库热更新,帮助用户自定义扩展符合自己业务场景的词项,进而提高搜索的准确度 |
|
索引管理
用户故事:作为统一搜索管理系统的使用者,我希望系统提供一个统一的索引管理功能,便于用户快速创建索引、浏览索引数据。
索引列表页面
智能搜索
用户故事:作为统一搜索管理系统的使用者,我希望系统提供一个统一的搜索主页,能够支持跨多索引统一搜索,并提供一个清晰美观的搜索结果展示界面,帮助用户实现企业内部资源一键快速搜索。
搜索主页
搜索数据列表
词典管理
用户故事:作为搜索服务的使用者,我希望系统能够提供基于界面操作的,灵活的自定义主词、停用词、同义词的词典管理功能,便于用户自定义扩展符合自己业务场景的词项,进而提高搜索的准确度。
词典管理页面
技术分析
设计思路
产品功能架构图
产品技术架构图
部署结构图
系统接入流程图
数据架构
用例图
索引结构定义
主业务数据索引结构
名称 |
类型 |
含义 |
---|---|---|
businessId | keyword | 业务ID |
title | text | 索引标题,用于全文检索的主要字段,数据同步时从原始字段中指定,搜索权重较高 |
entityText | text | 索引正文,用户结合业务情况,由原始字段拼接而成,权重较低 |
updateTime | date | 更新时间 |
updateUser | text | 更新人 |
dataSource | keyword | 数据来源 |
sourceUrl | keyword | 数据来源Url |
tags | keyword | 标签 |
extra | text | 扩展字段 |
数据来源:业务系统同步获取
自动补全、搜索建议索引结构
名称 | 类型 | 含义 |
---|---|---|
suggest | completion | 自动补全 |
数据来源:通过搜索日志处理及业务数据关键词提取得来
搜索日志索引结构
名称 | 类型 | 含义 |
---|---|---|
traceId | keyword | 埋点ID |
userId | keyword | 用户ID |
time | date | 时间 |
query | text/keyword | 搜索词 |
result | text/keyword | 搜索结果 |
数据来源:系统自动获取
行为日志数据索引结构
名称 | 类型 | 含义 |
---|---|---|
traceId | keyword | 埋点ID |
userId | keyword | 用户ID |
actionTime | date | 动作时间 |
readTime | date | 停留时间 |
action | keyword | 行为:点击、 |
itemId | keyword | 内容ID |
itemType | keyword | 内容类型 |
数据来源:系统自动获取,用户主动上报
其他
项目计划
进度计划
需求 |
迭代1 8个工作日 2022-4-6 - 2022-4-15 |
迭代2 10个工作日 2022-4-18 - 2022-4-29 |
迭代3 8个工作日 2022-4-6 - 2022-4-15 |
迭代4 8个工作日 2022-5-5 - 2022-5-13 |
迭代5 10个工作日 2022-5-16 - 2022-5-27 |
迭代6 9个工作日 2022-5-30 - 2022-6-10 |
---|---|---|---|---|---|---|
立项 |
|
|||||
数据同步 |
|
|||||
AK/SK管理 |
|
|||||
索引管理 |
|
|||||
数据浏览 |
|
|||||
全文搜索 |
|
|
||||
搜索日志 |
|
|||||
自动补全、搜索建议 |
|
|||||
热门搜索 |
|
|||||
词典管理 |
|
|
||||
词库热更新 |
|
|
||||
SDK开发 |
|
|
||||
申请著作权 |
|
|
||||
快速部署脚本 |
|
|||||
培训 |
|
|||||
结项 |
|
组织结构
业务代办 |
|
---|---|
产品经理 | |
业务负责人 | |
技术负责人 | |
质量保证人员 | |
敏捷教练 | |
开发人员 |
成本评估
资源名称 |
总工时(人日) |
---|---|
项目开发 | |
开发管理 | |
质量保证 | |
敏捷管理 | |
总计 |
按照 元/人日计算,共计 元。
质量计划
- 在项目开发过程不执行UI化自动测试
- 自主研发的功能为主要测试内容,需要执行测试用例,编写单元测试,覆盖率达到20%及以上。
- 对外服务接口需要接口测试,覆盖率达到100%。
- 以框架为基线,新增代码符合公司SonarQube标准。
风险评估
验收标准
- 开发完成立项文档中规划的需求功能。
- 在公司制品库内可以获得程序部署包。
- 交付产品使用说明文档、技术白皮书、部署说明文档、著作权申请资料。