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

Elasticsearch的索引

正向索引和倒排索引

  1. 什么是正向索引?

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

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

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

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

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

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

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

  1. 总结:

    什么是正向索引?

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

    什么是倒排索引?

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

http://www.dtcms.com/a/241168.html

相关文章:

  • VMware启动不支持虚拟化的解决方案!
  • #Vue3篇:透传 Attributes---$attrs插槽propemit
  • 密码是什么(三):多表代替密码
  • 1991-2024年上市公司个股换手率数据
  • C++模版初阶
  • 存储性能委员会(SPC)
  • 管理学院权限管理系统开发总结
  • 产品数字化与三维可视化:为工业领域打造高效服务新引擎
  • Python自动化机器学习平台库之mindsdb使用详解
  • vue的<router-link>的to里面的query和params的区别
  • JAVA后端开发——多租户
  • 力扣 1456. 定长子串中元音的最大数目 的多解
  • 【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变板
  • 一般视频剪辑的硬盘配置是什么
  • 什么时候用GraphRAG?RAG VS GraphRAG综合分析
  • 【西门子杯工业嵌入式-7-OLED】
  • 第二章 感知机
  • 火山 RTC 引擎10 ----远端视频 转网易视频格式
  • Houdini POP入门学习07 - 分组
  • 算法岗面试经验分享-大模型篇
  • 学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
  • 软件开发工程师如何在项目开发中了解学习 ISO 13485
  • WPS2024 软件下载及安装教程!
  • Java多线程实现之Thread类深度解析
  • AI电销机器人智能的发展趋势是什么?
  • 无需改造业务系统,数据导出行为也能“可控、可审、可溯”
  • 验证回文串
  • 根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
  • Docker拉取MySQL后数据库连接失败的解决方案
  • 解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist