初识elasticsearch
1.什么是elasticsearch
一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能;
elasticsearch 是结合kibana、Logstash、Beats,也就是elastic stach(ELK)。被广泛应用在日志数据分析、实时监控等领域。
elasticsearch 是 elastic stach的核心,负责存储、搜索、分析数据。
kibana:数据可视化
elasticsearch:存储、计算、搜索、分析数据
Logstash:数据抓取
2.什么是elastic stach
是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch
3.什么是Lucene
是Apache的开源搜索引擎类库,提供了搜索引擎核心API
4.elasticsearch的发展史
Lucene产生: 1997 年开始,利用业余时间开发出了 Lucene。Lucene 面世于1999年
Compass:2004 年,Shay Banon 基于Lucene 开发了 ElasticSearch 的前身 Compass
Elasticsearch:2010 年,Shay Banon 重写了Compass,取名为Elasticsearch
官网地址:https://www.elastic.co/cn
相对于Lucene,Elasticsearch具备的优势:
《1》支持分布式,可水平扩展
《2》提供Restfull接口,可被任何语言调用
5.正向索引和倒排索引
6.什么是文档和词条
每一条数据就是一个文档
对文档中的内容分词,得到的词语就是词条
7.什么是正向索引
基于文档id创建索引。查询词条必须先找到文档,而后判断是否包含词条
8.什么是倒排索引
对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条查询到文档id,而后获取到文档
9.文档
10.索引
11.概念对比
文档:一条数据就是一个文档,es中是json格式
字段:json文档中的字段
索引:同类型文档的集合
映射:索引中文档的约束,比如字段名称、类型
elasticsearch与数据库的关系:
数据库负责事务类型操作
elasticsearch负责海量数据的搜索、分析、计算