Elasticsearch初探

news/2024/10/30 23:14:12/

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信息
在这里插入图片描述


http://www.ppmy.cn/news/503616.html

相关文章

异构广告混排在美团到店业务的探索与实践

转子:https://tech.meituan.com/2022/03/10/exploration-and-practice-of-heterogeneous-ad-mixed-ranking-in-meituan-ads.html 1 背景与简介 1.1 背景 美团到店广告负责美团搜索流量的商业变现,服务于到店餐饮、休娱亲子、丽人医美、酒店旅游等众多…

虚拟卡介绍

什么是虚拟卡? 与实体卡一样,虚拟卡具有16位卡号数字,会经申请自动生成并分配给会员。在许多情况下,因为它的可立即发行和使用,使该类卡成为首选的付款方式。PhotonPay 为虚拟卡提供实时账户余额显示,使得…

流量卡为什么比线下套餐便宜这么多,原因是什么呢?

中国移动、中国电信、中国联通和中国广电,每个月都会推出一些优惠的流量卡套餐,这些套餐只能线上申请,线下是购买不到了,那么,你知道流量卡为什么比线下套餐便宜这么多吗? 首先,大家要知道一点…

注意!该套餐已经取消,网上所说的5元40G流量卡你真的相信了吗?

有朋友向搜卡之家咨询,近日听说有一款移动5元40G的流量卡,这种流量卡该如何办理呢?用着靠谱不靠谱呢? 早在头几年,中国移动针对高校推出一了款低资费流量卡的5元流量卡,套餐每月只收取5元费用,包…

注意:流量套餐到期会自动续约吗,关于流量卡套餐期限的说明

在网上购买的流量卡资费虽然便宜,但有一个最大的限制,有的是长期套餐,就是是有优惠期限,所以,有表明“优惠期限”的套餐要注意了。 在套餐资费详情介绍中,会有关于套餐期限的说明,比如&#xf…

大流量卡介绍:网上的大流量卡都是怎么来的?

大流量卡介绍,你知道网上的大流量卡都是怎么来的? 其实,网上29元155G、39元180G的优惠套餐,本身都是我们常见的流量卡如电信星卡、联通王卡、移动花卡等等,之所以这么便宜,只不过运营商在这些套餐上面增加…

网上的流量卡可以永久使用吗?看看你申请的套餐详情就知道了!

这篇文章给大家普及一些关于流量卡的知识,互联网时期,我们对流量的需求是越来越大,营业厅的套餐资费并不便宜,所以现在很多朋友都比较关注网上的流量卡,对流量卡感兴趣的朋友可以看看这篇文章了。 流量卡可以永久使用吗…

物联卡套餐价格收费,物联卡流量怎么买比较划算?_流量卡

关于物联卡,用户通常最常关心的莫过于物联卡套餐价格,物联卡流量怎么买比较话费等问题,那么,物联卡流量套餐究竟该如何购买呢,接下来跟着搜卡之家小编一块来了解一下吧。 根据市场了解,目前物联卡套餐多见于…