概述
- 是基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展数据存储和矢量数据库。它针对生产规模工作负载的速度和相关性进行了优化。使用 Elasticsearch 可以近乎实时地搜索、索引、存储和分析各种形状和大小的数据
- 官网
倒排索引
- 先把文档内容进行分词,形成词条与文档ID相对应的关系的词条库,对词条进行创建索引,因词条具备唯一性
- 对搜索内容进行分词,分词后得到一个关键词列表,根据关键词去词条库中匹配,找到相对应的文档ID列表
- 最后根据文档ID列表,找到对应的文档信息
Elasticsearch与MySQL的概念对比
| MySQL | Elasticsearch | ES描述 |
|---|---|---|
| Table | Index | 索引 |
| Row | Document | 文档【json】 |
| Column | Filed | 字段【域】 |
| Schema | Mapping | 映射【结构】 |
| SQL | DSL | 语句 |
- tabel MySQL中的数据表,用来存储和管理表格数据
- row 用来记录数据
- column 用来存储和管理数据值
- Mapping ES中的数据结构定义,用于描述文档的结构和属性