Elasticsearch:install

ElasticSearch

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。
Elasticsearch结合Kibana、Logstash、Beats,也就是elastic
stack(ELK)。被广泛应用在日志分析、实时监控(CPU、Memory、Program)等领域。
elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。
Kibana 负责数据可视化
Elasticsearch 负责存储、计算、搜索数据
Logstash、Beats负责数据抓取

elasticsearch的底层实现基于lucene,lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发
官网:https://lucene.apache.org
在这里插入图片描述

Lucene
优点:易扩展、高性能(基于倒排索引数据结构)
缺点:限于Java语言、学习曲线陡峭、不支持水平扩展

elasticsearch
2004年Shay Banon基于Lucene开发了Compass
2010年Shay Banon重写了Compass,取名Elasticsearch
相比lucene其具备支持分布式、可水平扩展、提供Restful接口、可被任意语言调用的优势
ES官网地址:https://www.elastic.co/cn/
在这里插入图片描述

正向索引与倒排索引

elasticsearch采用倒排索引:

  • 文档(document):每条数据就是一个文档
  • 词条(term):文档按照语义划分的词语

正向索引

idtitleprice
1小米手机3499
2华为手机4999
3华为小米充电器49
4小米手环299

倒排索引

词条(term)文档id
小米1, 3, 4
手机1,2
华为2,3
充电器3
手环4

文档

elasticsearch是面向文档存储的,可以是数据库中的一条商品数据,一个订单信息。
文档数据会被序列化成json格式

索引

  • 索引(index):相同类型的文档的集合
  • 映射(Mapping):索引中文档的字段约束信息,类似表的结构约束

商品索引

{
"id":1,
"title":"小米手机",
"price":3499
}

{
"id":2,
"title":"华为手机",
"price":4999
}

{
"id":3,
"title":"三星手机",
"price":3999
}

用户索引

{
"id":101,
"name":"张三",
"age":21
}

{
"id":102,
"name":"李四",
"age":24
}

{
"id":103,
"name":"王五",
"age":18
}

订单索引

{
"id":10,
"userId":101,
"goodsId":1,
"totalFee":294
}

{
"id":11,
"userId":102,
"goodsId":2,
"totalFee":328
}

MySQL与ES概念的对比

MySQLElasticsearch说明
TableIndex索引(Index),是文档的集合、类似数据库的表(table)
RawDocument文档(Document),是一条条的数据、类似数据库中的行(Row),文档都是json格式
ColumnField字段(Field),是json文档中的字段,类似数据库中的列(Column)
SchemaMappingMapping(映射),是索引中文档的约束,例如字段类型的约束,类似数据库的表结构(Schema)
SQLDSLDSL是Elasticsearch提供的json风格的请求语句,用于操作elasticsearch,实现CRUD

架构

MySQL:擅长事务类型操作,可以确保数据的安全和一致性
Elasticsearch:擅长海量数据的搜索、分析、计算
二者是互补,而非替代的关系
在这里插入图片描述

安装elasticsearch、kibana

elasticsearch 7.6.1https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-6-1

kibana 7.6.1https://www.elastic.co/cn/downloads/past-releases/kibana-7-6-1

jdkhttps://www.oracle.com/java/technologies/
7.x版本es、kibana无需自行安装jdk

下载并解压es、kibana到固定路径,并将其bin目录加入环境变量

修改config/kibana.yml配置文件,去掉elasticsearch.hosts前的注释

elasticsearch.hosts: ["http://localhost:9200"]

打开命令行,输入elasticsearch.bat启动es
新建窗口,输入kibana.bat启动kibana

es的默认端口是9200,其启动成功界面如下图所示
在这里插入图片描述
kibana默认端口是5601,其启动成功界面入下图所示
在这里插入图片描述
打开Dev Tools,输入GET /,查看ES信息
在这里插入图片描述

Reference
黑马程序员

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

metabit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值