项目简介
Squint数据检索系统是一个开源项目,基于Python和FastAPI框架构建。该系统专注于处理和检索大规模数据,借助Elasticsearch和Redis实现数据的存储、索引以及任务队列管理,支持实时数据更新和任务处理。
项目的主要特性和功能
- 数据处理与存储:将原始数据存于Elasticsearch数据库,实时更新宽表数据以支持检索查询。
- 任务管理:利用Redis队列管理任务,支持任务生成、消费和重试,可根据查询生成更新任务并触发关联任务。
- API服务:提供基于FastAPI的RESTful API,具备用户认证、数据插入、查询和统计等功能,支持JWT认证保障API安全。
- 命令行接口:提供丰富命令行接口,可进行服务启动、任务生成、索引备份、Redis队列清理等操作。
- 数据备份与恢复:支持按日期备份Elasticsearch索引,确保数据安全和可恢复性。
安装使用步骤
环境准备
确保已安装Python 3.7+,使用pip install -r requirements.txt
安装所需Python包。
配置文件
根据项目需求,配置settings.toml
和.secret.toml
文件,设置Elasticsearch和Redis的连接信息。
启动服务
使用python main.py service
启动服务,使用python main.py worker
启动工作进程。
任务管理
- 生成更新任务:
python main.py produce_update_task_by_query
- 备份索引:
python main.py bakup_index_by_date
- 清理Redis队列:
python main.py clear_redis_queue
API使用
通过API进行用户认证、数据插入、查询和统计等操作,示例API请求如下:
- 注册用户:POST /api/v1/signup
- 登录用户:POST /api/v1/login
- 插入数据:POST /api/v1/raw_table
按照上述步骤,可快速启动并使用Squint数据检索系统,实现高效的数据处理和检索。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】