Elasticsearch 特点
快速:Elasticsearch 基于 Lucene 构建,全文本搜索快速,近实时搜索,从文档索引操作到文档变为可搜索状态间的延时很短,一般只有一秒。
分布式:Elasticsearch 中存储的文档可以分布在不同的容器中,可以进行复制以提供数据冗余,可扩展。
内置功能:数据汇总、生命周期管理等,方便高效使用。简化了数据采集、可视化和报告过程
ES术语
索引 index 表
文档 document 行
字段 fields 列
映射 mapping 表结构定义
近实时 NRT Near real time
节点 node 每一个服务器
shard primary shard 数据主分片
replica replica shard 备份节点
集群架构
倒排索引
通过分词把关键词作为 key,数据作为 value,生成 倒排索引。
搜索倒排索引时间复杂度明显降低
有两种不同的反向索引形式:
- 一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表(文档 id)。
- 一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置(词频、位置)。