项目简介
本项目是一个基于Python/Flask/Vue框架的法律搜索引擎,后端采用Flask框架,前端使用Vue框架。核心搜索算法涵盖whoosh和Elasticsearch,还运用NLP模型进行类案匹配,实现了关键词检索、类案检索等必做功能,以及精细化检索、高亮、标签显示、查询补全、相似案例推荐等选做功能。
项目的主要特性和功能
- 关键词检索:借助whoosh或Elasticsearch索引开展关键词搜索,返回匹配文档ID列表。
- 类案检索:运用BM25算法或NLP模型进行类案匹配,返回匹配类案ID列表。
- 精细化检索:支持按字段筛选、年份范围筛选等高级搜索功能。
- 高亮显示:返回结果中对查询关键词进行高亮显示。
- 标签显示:为返回的文档显示简单分类标签。
- 查询补全:基于字典树的自动补全系统,提供查询推荐词语。
- 相似案例推荐:基于Faiss库进行稠密向量相似性搜索,推荐相似案例。
安装使用步骤
环境准备
- 确保已安装Python环境。
- 安装Elasticsearch服务。
- 安装项目所需的Python依赖库:
elasticsearch==8.8.0 faiss==1.5.3 faiss_cpu==1.7.4 jieba==0.42.1 numpy==1.21.6 tqdm==4.64.1 Whoosh==2.7.4 Flask==2.2.4 transformers==4.28.0
预处理
在./process/
文件夹下依次运行以下脚本:
python extract_xml.py
python get_index.py
python get_es_index.py
python get_vector_index.py
python law_words.py
python get_database.py
后端运行
- 在
flask
文件夹下,可以修改config.py
自定义配置。 - 运行
flask run --port 8000
启动后端服务。
前端运行
- 在
bebr2-legal
文件夹下,运行npm install
安装依赖。 - 运行
npm run serve
启动前端项目。注意要在联网状态下启动,因为使用了一些CDN资源。
访问测试
通过浏览器访问后端服务地址,进行搜索和浏览功能测试。
注意:运行该项目需要一定的计算资源,特别是在执行预处理步骤时,可能需要较大的内存空间。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】