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.1:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-6-1

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

jdk:https://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
黑马程序员

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/8830.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年SCI影响因子(JCR2022)正式公布

2023年6月28日,Clarivate Analytics(科睿唯安)发布最新的《期刊引证报告》(Journal Citation Reports,简称JCR),刷新SCI期刊2022年影响因子(IF)。该指数也备受访问学者、联培博士及博士后研究者…

【Git】中文显示数字的问题的解决方案

目录 问题截图解决方案 问题截图 运行git status命令,会出现图片中不正常显示中文的问题 解决方案 设置终端: 右键窗口头部 -> Options...执行命令: git config --global core.quotepath false

让chatGPT使用Tensor flow Keras组装Bert,GPT,Transformer

让chatGPT使用Tensor flow Keras组装Bert,GPT,Transformer implement Transformer Model by Tensor flow Kerasimplement Bert model by Tensor flow Kerasimplement GPT model by Tensor flow Keras 本文主要展示Transfomer, Bert, GPT的神经网络结构之间的关系和差异。网络上…

【软件测试】盘一盘工作中遇到的 Redis 异常测试

目录 前言: 一、更新 Key 异常 二、Key的删除和丢失 三、KEY 过期策略不当造成内存泄漏 四、查询Redis异常时处理 五、redis 穿透、击穿、雪崩 六、Redis死锁 七、Redis持久化 八、缓存与数据库双写时的数据一致性 前言: 在软件测试过程中&…

国产操作系统介绍和安装

国产操作系统 分类 操作系统分类国产操作系统银河麒麟中科方德统信UOS红旗Linux深度系统优麒麟系统 具体介绍 麒麟操作系统 麒麟操作系统(Kylin操作系统,简称麒麟OS),是一种国产操作系统,由国防科技大学研发&#x…

用pytorch进行BERT文本分类

BERT 是一个强大的语言模型,至少有两个原因: 它使用从 BooksCorpus (有 8 亿字)和 Wikipedia(有 25 亿字)中提取的未标记数据进行预训练。顾名思义,它是通过利用编码器堆栈的双向特性进行预训练…

Vulkan Tutorial 10 重采样

目录 30 多重采样 获得可用的样本数 设置一个渲染目标 添加新的附件 30 多重采样 我们的程序现在可以为纹理加载多层次的细节,这修复了在渲染离观众较远的物体时出现的假象。现在的图像平滑了许多,然而仔细观察,你会发现在绘制的几何图形…

【C++】复杂的菱形继承 及 菱形虚拟继承的底层原理

文章目录 1. 单继承2. 多继承3. 菱形继承3.1 菱形继承的问题——数据冗余和二义性3.2 解决方法——虚拟继承3.3 虚拟继承的原理 4. 继承和组合5. 继承的反思和总结 1. 单继承 在上一篇文章中,我们给大家演示的其实都是单继承。 单继承的概念: 单继承&a…

Flutter如何获取屏幕的分辨率和实际画布的分辨率

Flutter如何获取分辨率 在Flutter中,你可以使用MediaQuery来获取屏幕的分辨率和实际画布的分辨率。 要获取屏幕的分辨率,你可以使用MediaQuery.of(context).size属性,它返回一个Size对象,其中包含屏幕的宽度和高度。下面是一个获…

POSTGRESQL SQL 执行用 IN 还是 EXISTS 还是 ANY

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到3群(共…

SQL频率低但笔试会遇到: 触发器、索引、外键约束

一. 前言 在SQL面笔试中,对于表的连接方式,过滤条件,窗口函数等肯定是考察的重中之重,但是有一些偶尔会出现,频率比较低但是至少几乎会遇见一两次的题目,就比如触发器,索引和外键约束&#xff0…

Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径bean

Spring源码系列文章 Spring源码解析(一):环境搭建 Spring源码解析(二): 目录 一、Spring源码基础组件1、bean定义接口体系2、bean工厂接口体系3、ApplicationContext上下文体系 二、AnnotationConfigApplicationContext注解容器1、创建bean工厂-beanFa…