码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Elasticsearch倒排索引


    什么是正排索引?

    如下图,有一张商品表(tb_goods):

    对于mysql数据库来说,肯定会给“id”创建主键索引,然后根据“id”来查询对应的商品信息,而这种情况就被称为“正排索引”

    现在有一个需求:

    查询商品中包含“手机”关键字的商品信息

    1、给“title”字段创建普通索引,提高查询效率

    主键索引:全表只能有一个

    唯一索引:全表可以有多个,但是此字段必须具有唯一性

    普通索引:仅仅提高查询效率

    2、编写sql语句

    select id,title,price from tb_goods where title like '%手机%';

    这里注意,“%”放在关键字前会引发索引失效,但是此需求必须要在字段前后加上“%”

    3、根据第二步编写的sql去tb_goods表查询

    此过程会“全表扫描”,如果表的数据很多,效率就会很低很低

    因此就产生了“倒排索引”,来提高查询效率

    4、把数据存入结果集

    Elasticsearch倒排索引

    Elasticsearch就是采用倒排索引来查询数据,它会将商品表(tb_goods)转化成一张包含“term”字段和“document id”字段的一张表。

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

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

    现在有一个需求:

    基于Elasticsearch搜索“华为手机”

    1、分词

    将“华为手机”进行分词,得到:“华为”、“手机”两个词条(term)

    2、去词条列表查询文档id

    如上图,得到每个词条所在的文档id:华为:2,3        手机:1,2

    具体如下图:

     

    以上就是Elasticsearch的倒排索引,根据分词后的词条,得到对应的文档id

    3、根据文档id查询文档

    得到id为1,2,3的文档

    4、存入结果集

  • 相关阅读:
    推理还原的干货
    【经典控制理论】| 自动控制原理知识点概要(上)
    微信扫码跳转小程序并传参
    手把手教你解决循环依赖,一步一步地来窥探出三级缓存的奥秘
    element 日期选择器禁止选择指定日期前后时间
    阿里测试8年经验,靠着这份理解,我才得以生存下来
    Python与pycharm-----windows安装与运行
    【大数据趋势】12月3日纳指大概率反弹到黄金分割附近,然后下跌,之后进入趋势选择期,恒指会跟随。感觉或许有什么大事情要发生,瞎猜中。
    Service详解
    Java23种设计模式
  • 原文地址:https://blog.csdn.net/weixin_55076626/article/details/128118181
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号