Elasticsearch 特点

快速:Elasticsearch 基于 Lucene 构建,全文本搜索快速,近实时搜索,从文档索引操作到文档变为可搜索状态间的延时很短,一般只有一秒。

分布式:Elasticsearch 中存储的文档可以分布在不同的容器中,可以进行复制以提供数据冗余,可扩展。

内置功能:数据汇总、生命周期管理等,方便高效使用。简化了数据采集、可视化和报告过程

ES术语

索引 index 表

文档 document 行

字段 fields 列

映射 mapping 表结构定义

近实时 NRT Near real time

节点 node 每一个服务器

shard primary shard 数据主分片
replica replica shard 备份节点

集群架构

image.png

倒排索引

通过分词把关键词作为 key,数据作为 value,生成 倒排索引。

搜索倒排索引时间复杂度明显降低

有两种不同的反向索引形式:

  • 一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表(文档 id)。
  • 一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置(词频、位置)。

安装

https://www.elastic.co/cn/downloads/elasticsearch