• 2024.2.25 -ElasticSearch 进阶


    倒排索引

    Elasticsearch的倒排索引机制是通过将文档中出现的词汇与它们所在的文档ID关联起来,实现快速查找包含特定词汇的文档。下面是一个具体的例子来说明倒排索引的工作原理:

    假设我们有一个简单的文章集合,包含以下三篇文章:

    1. 文章A:标题为“新冠病毒疫情最新动态”,内容为“关于全球COVID-19疫情的最新进展报告”
    2. 文章B:标题为“春季流感预防措施”,内容为“如何在春季有效预防流感病毒传播”
    3. 文章C:标题为“疫苗接种的重要性”,内容为“讨论不同类型的疫苗及其在防疫中的关键作用”

    **构建倒排索引过程:**

    对于每个文档,Elasticsearch会执行以下步骤:
    - 分词(Tokenization):对文档的内容进行分词处理。例如,文章A的标题和内容分别会被分成如下的关键词:
      - 标题:“新冠”、“病毒”、“疫情”、“最新”、“动态”
      - 内容:“全球”、“COVID-19”、“疫情”、“最新”、“进展”、“报告”

    - 创建倒排索引条目:
      - 对于每个唯一词汇,记录它出现在哪些文档以及在文档中的位置信息:
        - “新冠” -> [文档A, 标题]
        - “病毒” -> [文档A, 标题], [文档A, 内容]
        - “疫情” -> [文档A, 标题], [文档A, 内容]
        - ...
        - “预防” -> [文档B, 标题]
        - “疫苗” -> [文档C, 标题]

    **查询使用倒排索引:**

    现在,如果我们想要搜索包含关键词“疫情”的所有文章,Elasticsearch可以直接查看倒排索引,找到关键词“疫情”对应的文档列表,即:

    - “疫情” -> [文档A, 标题], [文档A, 内容]

    因此,搜索引擎立即知道文档A包含了这个词,并且可以在毫秒级的时间内返回搜索结果。

    总结来说,Elasticsearch的倒排索引使得无需扫描整个文档集合就能迅速定位到含有特定词汇的文档,极大地提高了全文检索的速度和效率。

    ES的架构

    角色:client Esmaster 

     

  • 相关阅读:
    [内排序]八大经典排序合集
    SHT31/85温湿度传感器驱动代码(基于GD32F103)
    JSP 图书管理系统myeclipse开发mysql数据库MVC模式java编程网页设计
    数据结构——查找(二叉排序树)
    免费在线markdown转pdf
    面试经典 150 题 3 —(双指针)— 167. 两数之和 II - 输入有序数组
    HLS入门
    2021最新中高级Java面试题目,Java面试题汇总
    第05、WireShark抓包-协议分析
    鸿蒙原生应用/元服务开发-AGC分发如何编译打包应用
  • 原文地址:https://blog.csdn.net/m0_49956154/article/details/136282423