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

Elasticsearch的索引

正向索引和倒排索引

  1. 什么是正向索引?

    传统的数据库采用正向索引,如MySQL将表中的id创建索引,正向索引在进行不是id为索引进行搜索的时候,会逐条进行查询,比方说

    上图的表格,数据库进行逐条查询,当扫描到搜索字的时候会将该行存入结果集当中,如果没有就会进行丢弃。

    倒排索引
    1. elasticsearch采用的就是倒排索引它将要搜索的数据进行划分:

      • 文档(document):每条数据就是一个文档

      • 词条(term):文档按照语义分成的词语

    2. 如上表,当用户用倒排索引进行搜索的时候,会划分一个新的索引表,将原来的数据当中的东西,通过关键字进行划分,当有相同的时候会在文档的后面增加上索引,当有新的时候会创建出来一行新的数据,依此类推。

当用户搜索的时候,如上图比方说小米和手机,会先将搜索词进行语义的划分,然后在词条列表当中进行查询,将包含这两个词条的文档id都进行列举,再根据文档id进行查询,最后根据匹配度对其进行排序,存到结果集当中。

  1. 总结:

    什么是正向索引?

    • 基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包 含词条

    什么是倒排索引?

    • 对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条查询到文档id,而后获取到文档

http://www.xdnf.cn/news/13051.html

相关文章:

  • EC2安装WebRTC sdk-c环境、构建、编译
  • 在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
  • 二维数组 行列混淆区分 js
  • 中山大学GaussianFusion:首个将高斯表示引入端到端自动驾驶多传感器融合的新框架
  • NLP学习路线图(三十六): 机器翻译
  • DriveGPT4: Interpretable End-to-end Autonomous Driving via Large Language Model
  • 对象回调初步研究
  • Go 语言底层(四) : 深入 Context 上下文
  • 基于UniApp开发HarmonyOS 5.0鸿蒙汽车应用的指南
  • 医疗风险预测AI模型:机器学习与深度学习方法的深度分析与实践
  • Sklearn 机器学习 缺失值处理 获取填充失值的统计值
  • 使用docker在3台服务器上搭建基于版本redis 6.x的一主两从模式
  • ChatGPT 辅助 PyTorch 开发:从数据预处理到 CNN 图像识别的全流程优化
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
  • TripGenie:畅游济南旅行规划助手:个人工作纪实(二十三)
  • 【AI】从0开始玩转混元3D⼤模型,如何让一张静态实物图片一键转为3D实物图,大模型都表示服了,超级简单易上手,快来试试!
  • Infrastructure-Based Calibration of a Multi-Camera Rig
  • 初学 pytest 记录
  • 从物理机到云原生:全面解析计算虚拟化技术的演进与应用
  • OpenCV——图像基本操作(一)
  • ABB 605系列
  • ABP vNext + HBase:打造超高吞吐分布式列式数据库
  • C++实现分布式网络通信框架MPRPC(1)--预备知识
  • 云原生安全实战:API网关Envoy的鉴权与限流详解
  • AD学习(3)
  • 【多智能体】基于LLM自进化多学科团队医疗咨询多智能体框架
  • Redis专题-实战篇一-基于Session和Redis实现登录业务
  • GC1808高性能24位立体声音频ADC芯片解析
  • 分享一个自己封装的自用浏览器自动化工具(含浏览器自动下载,网页操作,文件上传下载,网络监听,翻页,Cookies等功能)
  • 初探用uniapp写微信小程序遇到的问题及解决(vue3+ts)