统一搜索管理系统的一些思考

发布时间 2024-01-10 10:24:47作者: 粒子先生

产品背景

市场分析

目前搜索类产品多集中在阿里云、腾讯云等大型云厂商手中,主要提供公有云服务的能力,而提供私有化部署,产品功能齐全,支持跨系统查询的智能搜索服务产品市场上较少。嘉诚统一搜索管理系统支持多数据源接入,支持跨系统统一搜索,支持私有化部署,能很好解决以上问题。

用户痛点

  • 在复杂系统中,存在大量多源异构数据,难以统一检索。
  • 搜索引擎技术复杂,用户自行搭建,需要消耗大量成本。
  • 传统数据检索技术存在同步和检索数据的性能和准确性问题。

产品概述

嘉诚统一搜索管理系统是一款基于私有云,也可便于单点系统集成的搜索引擎技术支撑和业务管理系统。
该产品可用于跨系统的一体化搜索引擎,提供全域信息检索管理,也可帮助一般产品实现跨表、高性能、高准确度、方便易用的全文检索系统。

产品定位    

致力于海量数据搜索分析,实现企业内部资源一键搜索,助力产品或复杂项目快速搭建统一的智能搜索服务。

产品特性

  • 精准的搜索结果
  • 便捷易用的搜索引导服务
  • 多数据源、多种同步方式的数据同步功能
  • 灵活、高性能的搜索接口
  • 高可配置的自定义词典功能
  • 安全的数据权限控制

产品需求

功能性需求

  • 统一搜索,提供统一搜索页面,进行全部数据的搜索展示。
  • 数据同步,支持多数据源,多种同步方式,高性能数据同步功能。
  • 索引管理,用户自定义检索数据来源,对用户索引进行统一管理。
  • 多租户,支持多租户管理,支持用户定义数据源和数据接口。
  • 对外接口,提供统一搜索接口及用户自定义搜索接口SDK。
  • 数据统计,提供全部数据及搜索数据的统计分析功能。
  • 词典管理,支持用户自定义热词、停用词、同义词,支持热更新。

非功能性需求

  • 高性能数据写入、查询
  • 快速部署脚本
  • 系统安全,支持等保

产品主要功能

模块
功能

数据同步

开发数据同步接口,帮助用户快速完成数据同步工作。同时支持基于数据集成系统进行数据同步。

  • 数据同步接口
  • 数据同步SDK

索引管理

提供索引的创建、删除、配置以及索引数据浏览的功能,方便用户管理索引、查看原始业务数据。

  • 索引配置、维护
  • 数据预览

智能搜索

提供一个统一的搜索功能,能够支持跨多索引统一搜索,支持自动补全、搜索建议等用户引导功能,并提供对外接口和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标准。

风险评估

验收标准

  • 开发完成立项文档中规划的需求功能。
  • 在公司制品库内可以获得程序部署包。
  • 交付产品使用说明文档、技术白皮书、部署说明文档、著作权申请资料。