SearchEngine
一个基于悟空数据集的图文搜索引擎。
- 基于中文词典树的高效索引和搜索
- 支持词典树的持久化
- 支持中文分词(使用sego分词包进行并发分词)
- 支持BM25算法
- 支持搜索数据持久化(使用leveldb进行索引存储)
- 支持用户登录注册搜索数据(使用Gin框架实现)
- 基于快排和二分法实现搜索结果排序
-分词(sego)使用,如何读取悟空数据集,并进行分词 -leveldb 的使用(包括数据压缩,存储,需要存储什么数据) -词典树索引的实现与使用(包括词典树的序列化与反序列化) -倒排索引,正排索引(结构体设计,存储什么) -快排实现(主要用在搜索结果返回排序) -BM25算法 -搜索的功能实现(goroutinue) -Gin实现与前端交互 -mysql存储用户数据(实现帐号密码登录注册)
需要一张表来存储用户信息
mysql> CREATE TABLE IF NOT EXISTS `user`(
`user_id` INT UNSIGNED AUTO_INCREMENT,
`user_name` VARCHAR(100) NOT NULL,
`user_passowrd` VARCHAR(40) NOT NULL,
PRIMARY KEY ( `user_id` ) );
具体细节在mysql
运行需要配置PictureEngine和router/api 已经持久化了部分数据,直接运行main.go即可(部分路径需要自行修改)
- 自动定时持久化
- 在线对数据进行索引
- 添加Cookie
- 分布式搜索与索引(RPC)
- 支持相关搜索功能
- 以图搜图
- 分页展示搜索结果
- 性能测试