古茗科技面试:为什么 ElasticSearch 更适合复杂条件搜索?
创始人
2025-05-31 05:31:10

文章目录

  • ElasticSearch 简介
  • 倒排索引
  • 联合索引查询
    • 跳表合并策略
    • Bitset 合并策略

MySQL 最多使用一个条件涉及的索引来过滤,然后剩余的条件只能在遍历行过程中进行内存过滤。

上述这种处理复杂条件查询的方式因为只能通过一个索引进行过滤,所以需要进行大量的 I/O 操作来读取行数据,并消耗 CPU 进行内存过滤,导致查询性能的下降。

而 ElasticSearch 因其特性,十分适合进行复杂条件查询,是业界主流的复杂条件查询场景解决方案,广泛应用于订单和日志查询等场景。

ElasticSearch 简介

Elasticsearch 是开源的实时分布式搜索分析引擎,内部使用 Lucene 做索引与搜索。它提供"准实时搜索"能力,并且能动态集群规模,弹性扩容。

Elasticsearch 使用 Lucene 作为其全文搜索引擎,用于处理纯文本的数据,但 Lucene 只是一个库,提供建立索引、执行搜索等接口,但不包含分布式服务,这些正是 Elasticsearch 做的。

下面,我们来介绍一下 ElasticSearch 的相关概念。为了便于初学者理解,我们先将 ElasticSearch 中的概念和 MySQL 中的概念大致地进行对应。

相关内容

热门资讯

瞰中国|福建周宁:山水为画   位于福建省周宁县浦源镇的江源金扇景区,以56米高的金扇瀑布为核心,丰水期瀑宽可达30余米,如巨扇...
【清晨,长沙街巷那盏灯】一碗米... 每天凌晨三点半,湖南米粉街的早市,从一盏灯开始。壹德壹牛肉粉馆亮起灯,唤醒街巷,也唤醒米粉的鲜醇。 ...
青岛夺冠!齐风“鲁”韵·山东鲁... 齐鲁晚报·齐鲁壹点 杨雪 12月28日,为期三天的“齐风‘鲁’韵·山东鲁菜争霸赛”在青岛国际会展中心...
糖葫芦+奶皮子,这个冬天最‘不... 这个冬天,一股新奇的甜蜜旋风席卷了社交网络——“奶皮子糖葫芦”横空出世,成了社交媒体上的“流量密码”...
舌尖上的潍坊,凭啥加冕“鲁菜之... 28日,“好客山东・美食争霸赛”收官站,齐风“鲁”韵·山东鲁菜争霸赛在青岛落下帷幕。潍坊队斩获第9枚...