本项目是一个简单的新闻搜索引擎,主要包括三个基础模块:
- 数据模块:爬取和保存数据,数据源为中国社会科学网
- 索引模块:构建和保存索引,这里的索引是指倒排索引
- 搜索模块:搜索主逻辑,采用 BM25 算法计算 query 与 document 之间的相似度
项目的目录结构如下:
main.py
:入口文件models.py
:各模块定义config.ini
:配置文件
你可以通过以下命令运行此项目:
python main.py
这将会依次执行数据模块爬取和保存数据、执行索引模块构建和保存索引、执行搜索模块进行查询
如果你已经运行过程序,将会在 resource
目录下保存有数据文件 data.csv
和索引文件 iindex.json
程序的运行过程与结果如下: