当前位置:网站首页>灵魂一问:为什么ES比MySQL更适合复杂条件搜索?
灵魂一问:为什么ES比MySQL更适合复杂条件搜索?
2022-07-27 15:36:00 【InfoQ】
ElasticSearch 简介


- ElasticSearch 中的索引 Index 类似于 MySQL 中的数据库 Database;
- ElasticSearch 中的类型 Type 类似于 MySQL 中的表 Table;需要注意,这个概念在 7.x 版本中被完全删除,而且概念上和 Table 也有较大差异;
- ElasticSearch 中的文档 Document 类似于 MySQL 中的数据行 Row,每个文档有多个字段 Filed 组成,这个Filed 就类似于 MySQL 的 Column;
- ElasticSearch 中的映射 Mapping 是对索引库中的索引字段及其数据类型进行定义,类似于关系型数据库中的表结构 Schema;
- ElasticSearch 使用自己的领域语言 Query DSL 来进行增删改查,而 MySQL 使用 SQL 语言进行上述操作。
倒排索引



联合索引查询
- 使用 Skip List 结构,同时遍历 Score 和 Author 查询出来的 Posting List,利用其 Skip List 结构,相互跳跃对比,得出合集。
- 使用 Bitset 结构,对 Score 和 Author 查询出来的 Posting List 的值计算出各自的 Bitset,然后进行 AND 操作。
跳表合并策略

Bitset 合并策略

- 基数小于 2 ^ 12 次方即 4096时,使用unsigned short类型的有序数组来存储,最大消耗空间就是 8 KB。
- 基数大于 4096 时,则使用大小为 2 ^ 16 次方的普通 bitset 来存储,固定消耗 8 KB。当然,有些时候也会对 bitset 进行行程长度编码(RLE)压缩,进一步减少空间占用。
后记
边栏推荐
- 诸神黄昏,“猫抖快”告别大V时代
- 信号量保护之位带操作
- 【obs】x264_ encoder_ Encode encoding output PTS DTS and framesize
- 一个端到端的基于 form 表单的文件上传程序,包含客户端和服务器端
- Svm+surf+k-means flower classification (matlab)
- Database hyperphone (II)
- 立创EDA——原理图的布局与检查(三)
- Start from scratch blazor server (1) -- project construction
- 20 years ago, he was Ma Yun's biggest enemy
- VO、DO、DTO、PO是什么
猜你喜欢

Kubernetes Chapter 8: deploy NFS system with kubernetes to complete database persistence (kubernetes work practice class)

KMP模板——字符串匹配

DDD(领域驱动设计)分层架构

DDD (Domain Driven Design) layered architecture

深度学习能颠覆视频编解码吗?国家技术发明奖一等奖得主在小红书给你唠

Kubernetes第八篇:使用kubernetes部署NFS系统完成数据库持久化(Kubernetes工作实践类)

二舅的外甥和他的学生们

Gree "not cool": the giant lawsuit ended and was reduced by large dealers. Is it too late for the new battlefield of air conditioning?

关于 SAP UI5 应用 ui5.yaml 里的 paths 映射问题

大排量硬核产品来袭,坦克品牌能否冲破自主品牌天花板?
随机推荐
Behind every piece of information you collect, you can't live without TA
Helm install kubevela complete makefile script content
Subject 3: straight driving
阿里巴巴鹰眼系统简介
[SAML SSO solution] Shanghai daoning brings you SAML for asp NET/SAML for ASP. Net core download, trial, tutorial
记一次 .NET 某智慧物流 WCS系统 CPU 爆高分析
通过 FileUploader 的初始化,了解 SAP UI5 应用的 StaticArea 初始化逻辑
[MCU] 2.2 pin function of AT89S52
Day 7 summary & homework
立创EDA——PCB的布局(四)
Kubernetes Part 7: using kubernetes to deploy prometheus+grafana monitoring system (kubernetes work practice class)
如何通过C#/VB.NET从PDF中提取表格
Windows and network foundation-15-local security policy
Global string object (function type) +math object
详解二叉树之堆
可口可乐的首要挑战,不是元气森林
20年前,他是马云最大的敌人
下棋机器人折断7岁男孩手指,网友:违反了机器人第一定律
Switch and router technology-02-working principle of Ethernet switch
Three table joint query 2