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

古茗科技面试:为什么 ElasticSearch 更适合复杂条件搜索?

文章目录

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

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

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

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

ElasticSearch 简介

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

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

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

http://www.lryc.cn/news/42836.html

相关文章:

  • 【数据结构】哈希表
  • 物联网常用协议MQTT协议相关介绍
  • 【C语言进阶】13. 假期测评②
  • 【国产FPGA】国产FPGA搭建图像处理平台
  • 你的应用太慢了,给我司带来了巨额损失,该怎么办
  • 第十四届蓝桥杯三月真题刷题训练——第 22 天
  • 机器学习:朴素贝叶斯模型算法原理(含实战案例)
  • Linux 多线程:理解线程
  • Web前端学习:章四 -- JavaScript初级(四)-- BOM
  • Lesson9.网络基础1
  • 这几个SQL语法的坑,你踩过吗
  • 算法基础——复杂度
  • 基类与派生类对象的关系 派生类的构造函数
  • 【算法】生成分布式 ID 的雪花算法
  • Linux系统编程 - 基础IO(IO操作)
  • 基于 Avue 的 CRUD 表格组件封装
  • 树莓派学习笔记(十三)基于框架编写驱动代码
  • vue事件修饰符之.prevent
  • 【SpringCloud AlibabaSentinel实现熔断与限流】
  • 类与对象-封装
  • 【回忆杀】2012年拥有第一台电脑【致逝去的青春】
  • PointNeXt: Revisiting PointNet++ with Improved Training and Scaling Strategies
  • 打印九九乘法表-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第2章-课后作业)
  • 【Linux】基于阻塞队列的生产者消费者模型
  • 【华为OD机试 2023最新 】 真正的密码(C++)
  • 差分算法(蓝桥杯复习+例题讲解+模板c++)
  • CSS+ JS 实现手电筒效果
  • 2021地理设计组二等奖:基于InSAR和指数分析的地面沉降风
  • 计算机操作系统(第四版)第二章进程的描述与控制—课后习题答案
  • CAN通信----电路图