TASE(Telegram 音频搜索引擎)
基于 Telegram 的闪电般快速的音频全文搜索引擎
它允许用户快速、轻松地找到真正感兴趣或有价值的信息,而无需费力通过众多不相关的渠道。它为用户提供搜索结果,找到有关高质量音频文件的相关信息。
是什么让 TASE 如此特别?
TASE 是一个不断发展的开源全文音频搜索引擎平台,可满足用户的大量请求。基于Python和Telegram,最新的重大更新引入了许多新功能,其中由Elasticsearch和ArangoDB提供支持的高度抽象和模块化的设计模式,支持位于世界不同地区的不同服务器上的并行集群。
泰斯一目了然
- 高级音频文件全文搜索引擎
- 极快的音频文件索引器(基准:每个客户端每天至少 400 万首歌曲)
- 支持多个并行客户端作为索引器
- 支持多个服务器上的分布式并行集群(搜索和索引)(所有音频文件、图形和文档模型)
- 用户和项目图
- 动态 URL
- 异步
- 使用管理工具
- 多种语言
- 音频文件缓存
- 轻松配置和定制
- 友好的外观和感觉
TASE 是免费的,而且永远都是免费的。帮助我们......如果您喜欢免费的东西和优秀的软件,请给我们一颗星! :星::星2:
特征
面向开发人员的功能
- 在语言环境中添加新语言(我们建议使用 Poedit)
- 通过在按钮基类中实现抽象方法,轻松添加新按钮和功能(查询和内联)
- 图形模型和音频文件的实时可视化(Kibana、ArangoDB)
- 抽象和立面设计模式
广泛的功能
搜索引擎
- 通过直接机器人搜索搜索音频文件
- 使用 @bot_name 提及从群组和私人聊天中搜索音频文件并将其直接发送到聊天
- 通过显示内联结果列表,使用 @bot_name 提及进行实时搜索
- 私聊、群聊中直接实时搜索
- 根据文件名、表演者姓名和音频名称进行搜索
- 在一条消息中显示前 10 个相关结果,并在更多结果中无限制;作为内联列表返回
- 下载之前先播放内嵌列表中的歌曲
- 缓存搜索到的音频文件以避免不必要的冗余数据库请求
- 结果的动态 URL
- 允许所有者追踪下载的音频文件
- 高准确性和相关性
- 以多种语言进行搜索
- 显示源通道名称和文件链接
- 以反向模式对结果进行排序(以使更相关的结果位于底部)
搜索示例截图
结果音频示例屏幕截图
索引功能
- 以乐观的方式自动查找新通道(首先假设它是有效通道,然后在开始索引之前对其进行验证)
- 从文本和标题中摘录
- 摘自“转发提及”
- 从链接中提取
- 自动索引新频道
- 迭代之前的通道并从之前的检查点恢复索引
- 极快的索引(每个客户端每天至少 400 万首歌曲
- 分析渠道并根据其计算分数 (0-5)
- 音频文件的密度(音频文件的比例
- 频道的活动(共享新文件的频率)
- 会员人数
- 避免被 Telegram 服务器禁止
- 支持使用多个 Telegram 客户端并行索引
- 以特定方式对文件 ID 进行哈希处理,从而在很大程度上避免冲突,并且仍然保持短至八个字符
- 用户和频道所有者可以使用“/indexchannel_name”发送请求以索引特定频道
- 实时构建用户和音频文件的图表,可用于推荐系统和链接预测任务
用户限制/控制功能
- 近乎实时地处理您频道中的用户会员资格
- 根据用户的会员状态设置限制
- 限制非会员用户自由搜索5个音频文件,然后等待一分钟才能收到搜索到的音频文件
- 非会员在直接聊天搜索方面受到限制
用户界面
- 用户指南
- 多个菜单(主页、帮助、播放列表等)
- 每个部分都有一个键盘,以简化用户的流程
- 多语言机器人 - 目前支持:
- ??英语
- ??西班牙语
- ??俄语
- ??阿拉伯
- ??葡萄牙语
- ??印地语
- ??德语
- ??库尔德语(索拉尼语)
- ??库尔德语(库尔曼吉语)
- ??荷兰语
- ??意大利语
- ??波斯语
- 如果用户超过一周或超过两周没有活动,则根据用户的活动向他们发送问候消息
- 通过按主键盘中的历史记录按钮,通过可滚动内联列表显示每个用户的搜索历史记录
- 美丽而充满活力的用户界面(消息和表情符号)
播放列表
- 用户可以拥有无限的播放列表,并在每个列表中保存无限的音频文件
- 用户可以编辑播放列表元数据
- 用户可以编辑保存的音频文件
主菜单截图
管理功能
- 实时图形可视化(支持ArangoDB仪表板)
- 实时索引音频文件可视化(支持 Kibana 仪表板)
* Kibana 是一种数据可视化和探索工具,用于日志和时间序列分析、应用程序监控和运营智能用例。它提供强大且易于使用的功能,例如直方图、折线图、饼图、热图和内置地理空间支持。
其他
- 极快
- 代码中提供了文档(文档字符串)
- 处理数据库相关异常
- 多线程搜索(异步搜索多个请求)
- 完美处理 RTL 文本
技术栈
开发TASE所使用的主要工具和技术如下:
- 弹性搜索
- 阿兰戈数据库
- 热解图
- Python 获取文本
- 芹菜
- RabbitMQ
- 雷迪斯
- 派丹提克
- 金贾
征集捐款
我们欢迎您的专业知识和热情!
为 Telegram 音频搜索引擎做出贡献的方式:
- 编写代码
- 审查拉取请求
- 开发教程、演示文稿、文档和其他教育材料
- 翻译文档和自述文件内容
我们热爱您的贡献,并尽力为您提供指导和支持。如果您正在寻找要解决的问题,请查看问题。
问题
如果您在代码中遇到任何问题,请在此处报告。更好的方法是在Github上分叉存储库和/或创建拉取请求。
未来的工作
如果您觉得有帮助,请给我们一个
执照
TASE 根据 Apache 许可证 2.0 版获得许可。请参阅许可证以获取完整的许可证文本。