【Boost】:前置知识(一)

前置知识

  • 一.背景
  • 二.下载boost库手册的网页资源
  • 三.正排索引和倒排索引
  • 四.认识标签和去标签

一.背景

现在知名的搜索引擎,例如;谷歌,百度,搜狐…它们的搜索是属于全网的,而本次的项目是区域搜索。

项目演示

在这里插入图片描述

要做的工作

我们的服务器首先要从浏览器里获取网页,把这些网页去标签,进行数据清理,紧接着建立索引,把索引检索的网页放到sercher里,再把网页进行剪切拼接,形成新的网页,最终返回到浏览器里。(PS:由于国家安全规定爬虫不能使用,所以我们会换一种合法的方式获取网页)。

在这里插入图片描述

在这里插入图片描述

二.下载boost库手册的网页资源

boost官网

这里下载任意一个版本都行。

在这里插入图片描述

在这里插入图片描述

将库拖到Linux服务器里。将它解压到boost_searcher文件夹里(任意文件夹都可,只要你能找到)

在这里插入图片描述

如果出现乱码就多传几次。

在这里插入图片描述

在这里插入图片描述

解压

在这里插入图片描述

这个文件里就是官网所有内容,直接下载就避免了使用爬虫程序。我们只处理该文件里的html文档。

创建一个目录来放置源文件,然后就可以删除Boost库了

在这里插入图片描述

三.正排索引和倒排索引

1.正排索引:根据文档ID,查找文档。
2.倒排索引:根据文档内容,分词,联系文档ID。

例如:

文档1:乔布斯买了四斤苹果。

文档2:乔布斯发布了苹果手机。

文档ID文档内容
文档1乔布斯买了四斤苹果
文档2乔布斯发布了苹果手机

正排索引就是直接通ID查找内容。在说倒排索引时要先说一下分词。

对于停止词,例如:了,的,吗,a,an,the,我们一般在分词时不考虑。

例如:

文档1:乔布斯/买/四斤/苹果

文档2:乔布斯/发布/苹果/苹果手机

关键字(具有唯一性)文档ID
乔布斯文档1,文档2
文档1
四斤文档1
苹果文档1,文档2
发布文档2
苹果手机文档2

模拟一次查找过程:

用户输入:苹果->倒排索引中查找→提取出文档lD(1,2)→根据正排索引-找到文档的内容→title+conent (desc) +ur1文档结果进行摘要-构建响应结果

四.认识标签和去标签

什么是标签

在这里插入图片描述

像这种被<>括起来的就是标签,一般标签都是成对出现的,这些标签对于我们搜索毫无用处。

在data的同级目录下创建parser.cc文件,用来清理数据。

在这里插入图片描述

同时在data目录里创建一个raw_htm文件夹,在该文件夹里创建一个txt文件来放处理好的文件。

在这里插入图片描述

在这里插入图片描述

目标:把每个文档都去标签,然后写入到同一个文件中!每个文档内容不需要任何\n!文档和文档之间用\3区分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/449126.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Framework(6.x)源码编译与源码阅读入门

目录 一、Spring Framework 源码获取问题 1.1 Spring Framework 官网 1.2 Spring Framework 源码地址 1.3 关于访问不了GitHub 官网的解决方案 1.3.1 修改本地hosts文件 1.3.2 GitHub520 1.3.3 Gitee 导入 二、Spring Framework 源码编译 2.1 环境说明 2.1.1 JDK版本 …

通过WSL2来实现Windows10/11的深度学习模型GPU加速,TensorFlow项,Jupyter及其插件安装,CQF心得,金融量化

通过WSL2来实现TF的GPU加速 为什么要用WSL&#xff08;Windows Subsystem Linux&#xff09;安装WSL2&#xff0c;miniconda&#xff0c;cuda&#xff0c;cudnn&#xff0c;TA-Lib安装 WSL2安装 Miniconda3安装 CUDA安装 cuDNN安装 TensorFlow 库安装 TA-Lib 库安装其它CQF及金…

阿里云a10GPU,centos7,cuda11.2环境配置

Anaconda3-2022.05-Linux-x86_64.sh gcc升级 centos7升级gcc至8.2_centos7 yum gcc8.2.0-CSDN博客 paddlepaddle python -m pip install paddlepaddle-gpu2.5.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 报错 ImportError: libssl.so…

解锁影视制作新境界:DaVinci Resolve Studio 18引领行业变革

随着科技的不断发展&#xff0c;影视制作行业也在日新月异地变革。在这一进程中&#xff0c;DaVinci Resolve Studio 18以其卓越的性能和无限的创新力&#xff0c;成为了行业的领跑者。 DaVinci Resolve Studio 18是一款集剪辑、调色、音频处理和特效合成于一身的专业级影视制…

虚幻UE5Matehuman定制自己的虚拟人,从相机拍照到UE5制作全流程

开启自己的元宇宙,照片扫描真实的人类,生成虚拟形象,保姆级教程,欢迎大家指正。 需要的软件: 制作流程: 一.拍照。 围绕自己拍照,大概20多张图就差不多了,把脑门漏出来,无需拍后脑勺。 拍照方式 例如,拍照时尽量不要在脸上体现出明显的光源方向。

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境

零基础微服务架构理论入门介绍 一个基于分布式的服务架构应该含有的架构内容如下&#xff1a; 1.1SpringCloud是什么 1.2基于微服务的系统 1.3服务与之对用的技术 1.4课程目录 第一章_SpringBoot和SpringCloud版本选择 详细可见SpringCloud2020.mmap文件 1.概述 2.SpringBoo…

python 基础知识点(蓝桥杯python科目个人复习计划32)

今日复习内容&#xff1a;基础算法中的位运算 1.简介 位运算就是对二进制进行操作的运算方式&#xff0c;分为与运算&#xff0c;或运算&#xff0c;异或运算&#xff0c;取反&#xff0c;左移和右移。 &#xff08;1&#xff09;与运算 xyx&y000010100111 (2)或运算 …

用Python和 Cryptography库给你的文件加密解密

用Python和 Cryptography库给你的文件加密解密 用Python和 Cryptography库给你的文件加把安全锁。 先介绍与加密解密有关的几个基本概念。 加密&#xff08;Encryption&#xff09;&#xff1a;加密是将明文转换为密文的过程&#xff0c;使得未经授权的人无法读懂。 解密&a…

Sharding-JDBC之ComplexKeysShardingAlgorithm(复合分片算法)

目录 一、简介二、maven依赖三、数据库3.1、创建数据库3.2、创建表 四、配置&#xff08;二选一&#xff09;4.1、properties配置4.2、yml配置 五、复合分片算法六、实现6.1、实体层6.2、持久层6.3、服务层6.4、测试类6.4.2、根据时间范围查询订单 一、简介 实际工作中&#xf…

Flutter组件 StatefulWidget、StatelessWidget 可继承写法

前言 学过Java的同学&#xff0c;应该都知道面向对象语言的三大特征&#xff0c;封装、继承、多态&#xff1b; Dart也是面向对象的语言&#xff0c;但是在Flutter中的很多组件都被下划线 _ 标记为私有&#xff0c;导致无法继承&#xff0c;本文将介绍一种非私有的创建组件写…

Oracle 面试题 | 08.精选Oracle高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

正则表达式可视化工具regex-vis

什么是正则表达式 &#xff1f; 正则表达式是对字符串操作的一种逻辑公式&#xff0c;就是用事先定义好的一些特定字符、及这些特定字符的组合&#xff0c;组成一个“规则字符串”&#xff0c;这个“规则字符串”用来表达对字符串的一种过滤逻辑。【百度百科】 正则表达式用简短…