概述
ElasticSearch 是一个搜索服务器。
关系型数据库查询的问题:
- 1.如果使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低
SELECT * FROM goods WHERE title LIKE '%手机%'
- 关系型数据库提供的查询,功能太弱
SELECT * FROM goods WHERE title LIKE '%华为手机%
倒排索引
"床前明月光" ——>分词
将一段文本按照一定的规则,拆分为不同的词条(term)
反向(倒排)索引
倒排
ElasticSearch数据的存储和搜索原理
存储
ElasticSearch概念
- ElasticSearch 是一个基于Luncene的搜索服务器
- 是一个分布式、搞扩展、高实时的搜索与数据分析引擎
- 基于RESTful web接口
- Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎
- 官网:https://www.elastic.co/
应用场景
- 搜索:海量数据的查询
- 日志数据分析
- 实时数据分析
概念
- MySQL有事务性,而ElasticSearch没有事务性,所以你删了的数据是无法恢复的。
- ElasticSearch没有无力外键这个特性,如果你的数据强一致性要求比较高,还是建议慎用
ElasticSearch和MySql分工不同,MySQL负责存储数据,ElasticSearch负责搜索数据。
ElasticSearch

倒排









网友评论