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

搜索引擎简介

搜索引擎架构

整个搜索引擎分为三个系统

  1. 爬虫系统

  2. 索引系统

  3. 线上搜素服务

爬虫系统

爬虫分为两个阶段:

  1. 第一阶段:根据目标网站的列表页,爬对应的文档 URL

  2. 第二阶段:根据文档 URL,下载文档内容

触发器:

  • 定时任务触发

  • 消息触发

  • 管理后台手动触发某一个爬虫任务

文件服务器:

  • 存储图片和视频文件

索引系统

索引系统主要数据依赖:内容库和文件服务

依赖服务:

  1. 分词服务

  2. NLP 服务

    1. 同义词扩展

    2. 生成文档摘要

    3. 抽取文档标签

    4. 图片、文本、视频生成向量

    5. ....

  3. PageRank 服务

在线搜索服务

在线服务的主要模块:

  1. Query 理解

  2. 召回

  3. 排序

当欠召回时:

  1. 在线服务会将当前 Query 发送给离线索引系统的消息队列,让其为该 Query 完善索引数据。

  2. 索引系统收到消息后,会使用第三方搜索引擎进行检索,并且将检索的内容解析出 URL,发给爬虫系统,进行数据的补充。

  3. 如果第三方搜索引擎也没有检索到数据,可以通过 LLM 进行生成内容,将生成的内容写入 ES 索引

相关文章:

  • ChatGPT-o1用来进行数据分析,对比效果很惊人!
  • 力扣字典序问题详解
  • 焊接缺陷检测系统源码分享
  • C语言-线程
  • 李宏毅机器学习2022-HW8-Anomaly Detection
  • java的匿名内部类和lambda表达式
  • C语言VS实用调试技巧
  • 隧道灯光远程控制系统的设计与实现(论文+源码)_kaic
  • Spring Boot 进阶-Spring Boot 开发第一个Web接口
  • Java集合框架与Lambda表达式实践指南(小白速看)
  • 大模型Agent开发框架对比:LangGraph/LlamaIndex/DIY
  • 7-1.Android SQLite 之 SQLiteDatabase 简单编码模板(SQLiteDatabase 使用、SQL 语句编写)
  • 工业缺陷检测——Windows 10本地部署AnomalyGPT工业缺陷检测大模型
  • 综合题第二题(路由器的配置)
  • 高考技术——pandas使用
  • CentOS 7 修改主机名
  • Hibernate【inverse和cascade属性】知识要点
  • LeetCode29.两数相除 JavaScript
  • mysql 数据库四种事务隔离级别
  • PermissionScope Swift4 兼容问题
  • v-if和v-for连用出现的问题
  • vue--为什么data属性必须是一个函数
  • 搞机器学习要哪些技能
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 前端_面试
  • 十年未变!安全,谁之责?(下)
  • 延迟脚本的方式
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ‌内网穿透技术‌总结
  • #### go map 底层结构 ####
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (1)bark-ml
  • (160)时序收敛--->(10)时序收敛十
  • (70min)字节暑假实习二面(已挂)
  • (笔记自用)LeetCode:快乐数
  • (黑马点评)二、短信登录功能实现
  • (回溯) LeetCode 77. 组合
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (三十五)大数据实战——Superset可视化平台搭建
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)Linq学习笔记
  • (转)linux 命令大全
  • .net mvc 获取url中controller和action
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net经典笔试题
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @Transactional事务注解内含乾坤?
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [000-01-022].第06节:RabbitMQ中的交换机介绍
  • [20160807][系统设计的三次迭代]