当前位置: 首页 > news >正文

Boost库文档搜索引擎

文章目录

  • 综述
  • 效果展示
  • 去标签化,清理数据
  • 构建索引
  • 用户查询

综述

该项目使用了BS架构,实现了用户对Boost库进行站内搜索的功能,

用户输入关键字使用http协议通过ajax将数据发送给后端服务器,后端进行分词,

通过倒排索引和正排索引获得若干个文档,

每个文档按照一定权重进行排序,拼接成一个网页反馈给用户,

每个搜索结果包括文档标题,简介,URL,并可以通过点击标题跳转到特定的网址中

请添加图片描述

效果展示

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述
请添加图片描述

去标签化,清理数据

请添加图片描述

将爬虫和下载的boost库的文件,进行提炼,去标签化,保留里面的有效数据

  • 提取html文件
  • 将提取到的html文件进行提炼有效数据
  • 将有效数据的集合写入到一个文件中

构建索引

请添加图片描述

  • 根据将去标签化后构建的内容集合在内存中 构建正排索引,形成对应的文档结构体
  • 将形成的文档结构体在内存中 构建倒排索引,根据关键词找到对应的 倒排拉链(一系列和该关键字相光的文档集合)
    • 根据 Jieba分词对 titlecontent进行分词同时划定权重,构建倒排拉链
    • 每个倒排索引中都包含权重,之后我们就能够使用权重对文档优先级进行排序

用户查询

请添加图片描述

  • 用户输入搜索关键字后,先进行 JieBa分词
  • 通过 倒排索引获得对应的 倒排拉链
  • 倒排拉链中通过 正排索引获得对应一系列的文档内容
  • 根据索引中的权重按高到低进行排序,组合成一个网页反馈给用户
http://www.lryc.cn/news/16416.html

相关文章:

  • Linux中安装JDK
  • 宝塔面板公网ip非80端口非443端口部署ssl
  • 手撕八大排序(上)
  • clickhouse 怎么统计每天0点到10点的某个字段的数据量
  • [qiankun]-图片加载问题
  • 关于upstream的八种回调方法
  • 0303泰勒公式-微分中值定理与导数的应用
  • 日常运维基础命令
  • 人员行为识别系统 TensorFlow
  • ES-倒排索引BKD原理skiplist
  • 每天一道大厂SQL题【Day12】微众银行真题实战(二)
  • 带您了解TiDB MySQL数据库中关于日期、时间的坑
  • 【华为OD机试模拟题】用 C++ 实现 - 求字符串中所有整数的最小和
  • harbor 仓库迁移升级
  • 评论功能设计思路~
  • 算法训练营 day52 动态规划 买卖股票的最佳时机系列1
  • 3.基于分割的文本检测算法--DBNet++
  • IOS打包、SDK接入记录等
  • 【C++】类与对象(引入)
  • Redis 高级数据类型
  • Java8 新特性-函数式接口
  • 这套软件测试试卷能打90分,直接入职字节吧
  • GUI可视化应用开发及Python实现
  • 【论文简述】GMFlow: Learning Optical Flow via Global Matching(CVPR 2022)
  • 【Spark分布式内存计算框架——离线综合实战】5. 业务报表分析
  • 力扣-删除重复的电子邮箱
  • git基础
  • postgres 源码解析50 LWLock轻量锁--1
  • JVM优化常用命令
  • 按键中断实验