https://github.com/RimoChan/sese-engine
【sese-engine】新时代的搜索引擎!
https://github.com/RimoChan/sese-engine
Last synced: 8 months ago
JSON representation
【sese-engine】新时代的搜索引擎!
- Host: GitHub
- URL: https://github.com/RimoChan/sese-engine
- Owner: RimoChan
- License: other
- Created: 2022-01-09T10:27:52.000Z (almost 4 years ago)
- Default Branch: slave
- Last Pushed: 2024-10-03T01:32:05.000Z (about 1 year ago)
- Last Synced: 2025-04-07T16:14:01.207Z (8 months ago)
- Language: Python
- Homepage: https://sese.yyj.moe
- Size: 8.44 MB
- Stars: 621
- Watchers: 7
- Forks: 56
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- StarryDivineSky - RimoChan/sese-engine - engine 是一个基于现代架构设计的搜索引擎项目,旨在通过高效的数据处理和分布式架构实现快速、精准的全文检索能力。该项目采用分布式爬虫技术,支持从网页、文档、数据库等多种数据源中抓取信息,并通过高效的索引构建机制将非结构化数据转化为可查询的结构化索引。其核心工作原理包括三个阶段:首先通过多线程爬虫采集目标数据,随后利用倒排索引技术对文本内容进行分词、去重和索引存储,最后通过查询解析器实现用户输入的语义理解和精准匹配。 项目特色包括支持多语言分词处理(如中文的jieba分词)、基于TF-IDF和BM25算法的排名优化、分布式任务调度框架(如使用Celery或Kafka)以及支持实时增量更新的索引机制。技术实现上采用 Python 作为主要开发语言,结合 Elasticsearch 或自定义的倒排索引引擎进行数据存储,并通过 RESTful API 提供搜索接口。此外,项目还提供可视化管理界面,支持爬虫任务监控、索引状态查看和查询日志分析等功能。适用于需要构建企业级搜索系统、内容推荐引擎或数据挖掘平台的场景,特别适合处理大规模文本数据的检索需求。 (数据搜索引擎 / 资源传输下载)
- awesome - RimoChan/sese-engine - 【sese-engine】新时代的搜索引擎! (Python)
README
# 【sese-engine】新时代的搜索引擎!
大家平时都会用百度和谷歌来搜索资料吧。不过大家有没有怀疑过,也许它们不那么可信?
百度很坏,之前也有和竞价排名相关的丑闻。谷歌好一点,它说它不作恶,但我也不完全相信它,毕竟每个人的善恶观本身就不同。我想,它们或多或少都藏起了一些什么。
那怎么办呢?
我发明了强大并且安全的sese-engine。它是一个轻量级的搜索引擎,可以快速部署在个人电脑上。
sese-engine通过爬取互联网上的数据,在本地建立各个网页的索引。这样一来,你就有了自己的搜索引擎,可以在本地直接搜索互联网上的信息。你也可以修改你的爬取和搜索配置,让搜索的结果能满足个性化的需求。
数据即未来,我们的未来要掌握在自己手中。

## 测试环境
一起来玩吧: https://sese.yyj.moe
对了,服务器是1年70元租的机器,配置很低。所以第一次查询可能会卡几秒,这是正常现象,大概率是服务进程被交换到硬盘里了。
## 部署
只需要1个Python3.8。数据库什么的都不用装,配环境很方便,好耶!
具体步骤是这些:
1. 安装1个Python3.8
Python版本太高的话,下一步会有依赖装不上。
2. 用pip安装依赖
```sh
pip install -r requirements.txt
```
3. 运行启动脚本
搜索引擎在windows和linux上都可以运行,所以有两个可选的启动脚本 `启动.cmd` 和 `启动.sh`。
这样你的搜索引擎服务应该就可以用了,你可以 `curl http://127.0.0.1/search?q=test` 试一下。
然后前端的仓库在这里: [YunYouJun/sese-engine-ui](https://github.com/YunYouJun/sese-engine-ui)。前端怎么部署呢,去看看云游君怎么说吧。
如果你想用docker部署的话,也可以参照: [xiongnemo/sese-engine-docker](https://github.com/xiongnemo/sese-engine-docker)。
如果你想在树莓派上用docker部署的话,请参照:[mengguyi/sese-engine-docker](https://github.com/mengguyi/sese-engine-docker)
## 可视化
默认情况下,终端上会显示一些简要指标,如果你想知道更详细的服务状态的话,可以通过赠送(?)的Grafana仪表盘查看。
Grafana需要单独接入,方法可以参考这里: [接入Grafana](./grafana/)
它大概长这样:

## 代价
sese-engine的消耗不大,一个便宜的服务器或者树莓派就够用了。
默认配置下,sese-engine的爬虫大约需要1\~2个CPU和1\~2G的内存,搜索服务几乎没有消耗。如果你不想占用太多服务器资源,也可以根据 `配置.py` 里的注释调整各种类资源的使用量。
推荐的服务器配置如下:
- 2核CPU
- 4G内存
- 128G硬盘
- 5Mbps带宽
## 设计文档
设计文档在这里: [设计文档](./doc/readme.md)
## 赞助
如果你觉得sese-engine对你的工作或学习有帮助,欢迎来当我的女朋友。
要可爱的,最好是白发贫乳傲娇双马尾。