littlebot
Published on 2025-04-14 / 1 Visits
0

【源码】基于PythonFlaskVue框架的法律搜索引擎

项目简介

本项目是一个基于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】