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

【boost_search搜索引擎】2.正排索引和倒排索引

首先,要制作搜索引擎,我们首先要了解,什么是正排索引,什么是倒排索引,这是一个搜索引擎的关键。

1.正排索引

正排索引,其实就是我们的每一个文档,对应一个文档id。
正如vector容器一样:数组的每一个元素,对应着一个下标。
正排索引也是这个道理,一个文档对应一个文档id,这也给了我们一个思路,就是我们在实现正排索引的时候,我们可以用vector来存储,这样顺序表的下标天然的就能作为我们文档的id。

就比如这个表格,我们每一个网站对应了一个id,我们通过这个id,就可以访问到对应的网站。

文档id文档
1小米汽车
2小米手机
3小米家具
4小米公司

2.倒排索引

倒排索引,是我们搜索最关键的部分,就比如,我们搜索,输入一个关键词,比如:小米品牌手机。
然后我们的搜索引擎会将这个搜索关键字进行分词,变成
小米/品牌/手机。
然后我们需要进行内容匹配,就比如,小米这个词,在文档1,2,3,4都有,
手机只有2有,然后再设置一个权重,将匹配的最多的文档id放在前面展示

关键词文档id
小米1,2,3,4
手机2

然后我们再根据文档id去找到文档,从而实现了一个正排倒排索引的配合,达到我们搜索的目的。
这里的倒排索引我们可以用一个关键词匹配到的文档id用一个vector来存储,然后关键词对应着一个vector,那我们就可以想到用unordered_map来存储,
建立关键词<->文档id的一个映射关系。

相关文章:

【boost_search搜索引擎】2.正排索引和倒排索引

首先&#xff0c;要制作搜索引擎&#xff0c;我们首先要了解&#xff0c;什么是正排索引&#xff0c;什么是倒排索引&#xff0c;这是一个搜索引擎的关键。 1.正排索引 正排索引&#xff0c;其实就是我们的每一个文档&#xff0c;对应一个文档id。 正如vector容器一样&#xf…...

Java与Go:字符串转IP

在本文中&#xff0c;我们将了解如何将简单的对比Java和Go是如何将字符串解析为IP地址。 Java 在Java中&#xff0c;将字符串转换为IP地址最无脑的一个方法&#xff1a; import java.net.InetAddress; import java.net.UnknownHostException;public class Main {public stat…...

SlerfTools:简化操作,激发Solana生态创新潜能

在区块链世界的快速演变中,Solana生态系统以其独特的高性能吸引了全球的目光。然而,随着生态系统的蓬勃发展,用户和开发者面临的挑战也日渐增多。正是在这样的背景下,一个名为SlerfTools的新星项目应运而生,它承诺将为Solana带来一场革命性的变革。 项目的诞生 SlerfTools并非…...

AI视频风格转换动漫风:Stable Diffusion+TemporalKit

话不多说&#xff0c;直接开干。 基本方法 首先通过 Temporal-Kit 这个插件提取视频中的关键帧图片&#xff0c;然后使用 Stable Diffusion WebUI 重绘关键帧图片&#xff0c;然后再使用 Temporal-Kit 处理转换后的关键帧图片&#xff0c;它会自动补充关键帧之间的图片&#…...

MongoDB 7.x 绑定多个IP(bindIp)和IP范围段(IP/24)

早上安装了最新版的MOngoDB7.0&#xff0c;仅仅是想测试一些功能&#xff0c;暂无复杂操作的想法。 于是在远程的机器上&#xff0c;安装启动&#xff0c;一切正常。 网上找了教程&#xff0c;绑定IP的做法基本是修改mongod.cfg文件中的bindIp属性&#xff1a; Windows系统的…...

ERP系统帮助芯片公司成本如何计算 ?

在高度信息化的今天&#xff0c;企业运营管理逐渐趋向数字化、精准化&#xff0c;ERP系统作为集成一体化的企业管理软件&#xff0c;正在越来越多地被应用于企业的成本管理中。对于芯片公司而言&#xff0c;ERP系统不仅能够帮助其实现物料、人力、财务等资源的全面管理&#xf…...

计算机实体安全

计算机实体安全定义&#xff1a; 对场地环境、设施、设备和载体、人员采取的安全对策和措施。 一、计算机可靠性与故障分析 1.1 计算机的可靠性 可靠性 (狭义) ■计算机在规定时间与条件下完成规定功能的 概率 ■规定条件&#xff1a;环境条件&#xff0c;使用条件&#xff0…...

吴恩达深度学习笔记:神经网络的编程基础2.5-2.8

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第二周&#xff1a;神经网络的编程基础 (Basics of Neural Network programming)2.5 导数&#xff08;Derivatives&#xff09;2.6 更多的导数例子&#xff08;More Derivative Examples&…...

iphoneX系统的参数

1. 2. 3. 4. 5.相关的网址信息 Apple iPhone X 規格、价格和评论 | Kalvo Apple iPhone X 規格、价格和评论 | Kalvo...

基于云计算的前端资源管理系统的设计与实现

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验&#xff01;希望我的分享能帮助到您&#xff01;如需帮助可以评论关注私信我们一起探讨&#xff01;致敬感谢感恩&#xff01; 随着互联网的快速发展&#xff0c;前端资源管理成为了一个重要的课题。本文旨在设计并实…...

区块链技术与大数据结合的商业模式探索

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验&#xff01;希望我的分享能帮助到您&#xff01;如需帮助可以评论关注私信我们一起探讨&#xff01;致敬感谢感恩&#xff01; 随着区块链技术和大数据技术的不断发展&#xff0c;两者的结合为企业带来了新的商业模式…...

基于JavaSpringboot+Vue实现前后端分离房屋租赁系统

基于JavaSpringbootVue实现前后端分离房屋租赁系统 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取…...

Yarn: 安装与使用教程

Yarn是Facebook开发的一款高效、可靠的包管理器&#xff0c;用于JavaScript项目中依赖项的管理和版本控制。它作为npm&#xff08;Node.js包管理器&#xff09;的一个替代品&#xff0c;提供了更快的安装速度、更安全的依赖管理以及更好的协作体验。以下是Yarn的安装步骤以及基…...

数据库是怎么做到事务回滚的呢?

数据库实现事务回滚的原理涉及到数据库管理系统&#xff08;DBMS&#xff09;如何维护事务的一致性和持久性。 基本原理&#xff1a; ACID属性&#xff1a;事务的原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Iso…...

海思 Hi3519DV500 简介

海思 Hi3519DV500 简介 Hi3519DV500是一颗面向视觉行业推出的超高清智能 SoC。最高支持四路sensor输入&#xff0c;支持最高4K30fps的ISP图像处理能力。支持 2F WDR、多级降噪、六轴防抖、全景拼接、多光谱融合等多种传统图像增强和处理算法。支持越影AI ISP全天候卓越影像&am…...

盘点全球十大FPGA制造商

1. 赛灵思&#xff08;Xilinx&#xff09; 赛灵思是全球领先的FPGA供应商&#xff0c;市场份额超过50%。公司成立于1984年&#xff0c;总部位于加利福尼亚州圣何塞。关于赛灵思的一些重要事实&#xff1a; 提供业界最广泛的 FPGA 产品组合&#xff0c;包括 UltraScale、UltraS…...

【MySQL】14. 全文索引(选学)

全文索引的创建 当对文章字段或有大量文字的字段进行检索时&#xff0c;会使用到全文索引。 MySQL提供全文索引机制&#xff0c;但是有要求&#xff0c;要求表的存储引擎必须是MyISAM&#xff0c;而且默认的全文索引支持英文&#xff0c;不支持中文。 (为啥一定要用MyISAM呢&am…...

C++实现FFmpeg音视频实时拉流并播放

1.准备工作: 下载rtsp流媒体服务器rtsp-simple-server,安装go开发环境并编译 编译好后启动流媒体服务器 准备一个要推流的mp4视频文件,如db.mp4 使用ffmpeg开始推流 推流命令: ffmpeg -re -stream_loop -1 -i db.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://192.168.16…...

国内ip切换app,让切换ip变得简单

在数字化快速发展的今天&#xff0c;互联网已经成为我们生活中不可或缺的一部分。然而&#xff0c;随着网络应用的深入&#xff0c;用户对于网络环境的需求也日益多样化。其中&#xff0c;IP地址作为网络中的关键标识&#xff0c;其切换与管理显得尤为重要。为了满足用户对于IP…...

阿里云倚天服务器是什么?倚天服务器c8y、g8y和r8y详细介绍

阿里云倚天云服务器CPU采用倚天710处理器&#xff0c;租用倚天服务器c8y、g8y和r8y可以享受优惠价格&#xff0c;阿里云服务器网aliyunfuwuqi.com整理倚天云服务器详细介绍、倚天710处理器性能测评、CIPU架构优势、倚天服务器使用场景及生态支持&#xff1a; 阿里云倚天云服务…...

Multisim 13.0 保姆级教程:手把手教你搭建丙类谐振功放,从波形观察到参数分析

Multisim 13.0 丙类谐振功放仿真全流程实战指南 在电子工程领域&#xff0c;高频电路设计一直是让初学者望而生畏的课题。传统实验室受限于设备成本和操作风险&#xff0c;很难为学生提供充分的实践机会。而Multisim作为电路仿真领域的标杆工具&#xff0c;为学习者打开了一扇安…...

为什么顶级AI艺术家总在第3轮生成才出片?——揭秘构图迭代中的“临界收敛点”与3次生成内锁定最佳构图的硬核策略

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;为什么顶级AI艺术家总在第3轮生成才出片&#xff1f; AI图像生成并非“一击必中”的魔法&#xff0c;而是一场精密的概率博弈。Stable Diffusion、DALLE 3 和 MidJourney v6 等主流模型在采样过程中采用多步去…...

Vue.js 版本全解析与 nvm 环境管理完全指南

前言&#xff1a;为什么需要了解这些&#xff1f;在前端开发的世界里&#xff0c;Vue.js 已经成为最受欢迎的框架之一。但在实际工作中&#xff0c;我们常常会面临两个问题&#xff1a;项目 A 需要用 Vue 2&#xff08;为了兼容 IE11&#xff09;&#xff0c;项目 B 想用 Vue 3…...

【仅限前500名设计师获取】Midjourney双色调调色板生成器(含17组经Adobe Color验证的高转化配色矩阵)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Midjourney双色调调色范式的底层逻辑与设计价值 双色调&#xff08;Duotone&#xff09;并非简单叠加两种颜色&#xff0c;而是基于人眼视觉感知的非线性响应特性&#xff0c;在Midjourney中构建的一套语义化…...

极域电子教室破解终极指南:如何重获电脑控制权而不被老师发现

极域电子教室破解终极指南&#xff1a;如何重获电脑控制权而不被老师发现 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 你是否曾在学校机房上课时&#xff0c;面对老师全屏广播…...

GHelper:华硕笔记本终极性能优化解决方案

GHelper&#xff1a;华硕笔记本终极性能优化解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expertbook, RO…...

抖音直播弹幕实时采集:基于Golang的高性能解决方案

抖音直播弹幕实时采集&#xff1a;基于Golang的高性能解决方案 【免费下载链接】douyin-live-go 抖音(web) 弹幕爬虫 golang 实现 项目地址: https://gitcode.com/gh_mirrors/do/douyin-live-go 在直播电商和内容创作蓬勃发展的今天&#xff0c;实时获取抖音直播间的弹幕…...

Claude Code 总被封号怎么办,用 Taotoken 稳定接入大模型服务

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Claude Code 总被封号怎么办&#xff0c;用 Taotoken 稳定接入大模型服务 许多开发者在日常工作中依赖 Claude Code 作为编程助手&…...

UniVRM完整指南:Unity中VRM格式的7个实战技巧与高效配置方法

UniVRM完整指南&#xff1a;Unity中VRM格式的7个实战技巧与高效配置方法 【免费下载链接】UniVRM UniVRM is a gltf-based VRM format implementation for Unity. English is here https://vrm.dev/en/ . 日本語 はこちら https://vrm.dev/ 项目地址: https://gitcode.com/gh…...

缺失数据可视化图表开发实战|Highcharts创建人员出生统计面积图表示例

完整可运行代码<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>面积图 - 男孩姓名出生人数</t…...