ElasticSearch入门学习笔记(一)概念篇

笔记记录 B站狂神说Java的ElasticSearch课程:https://www.bilibili.com/video/BV17a4y1x7zq.

一、ElasticSearch是什么?

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

Elaticsearch,简称为es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据
Elaticsearch也使用java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单

1.1Lucene和ElasticSearch的关系?

Lucene是一个apache软件基金会旗下的全文检索引擎的架构,提供了完整的查询引擎和检索引擎。
ElasticSearch是基于Lucene 做了一下封装和增强。

1.2Elasticsearch和Solr的区别?

ElasticsearchSolr
安装方式开箱即用复杂
底层管理自身带有分布式协调管理功能Zookeeper进行分布式管理
支持格式jsonJSON、XML、 CSV
支持功能重于核心功能,提供插件提供的功能更多
查询效率建立索引快(即实时性查询快)查询快,但更新索引时慢(即插入删除慢)
学习成本开发维护者较少,更新快,学习使用成本高。有更大、更成熟的用户、开发和贡献者社区

(1)当单纯的对已有数据进行搜索时,Solr更快;
(2)当实时建立索引时,Solr会产生io阻塞,查询性能较差,ElasticSearch具有明显的优势

二、ElasticSearch核心概念

ElasticSearch是面向文档,关系型数据库和ElasticSearch客观对比

DBElasticSearch
数据库(database)索引(indices)
表(tables)types <慢慢会被弃用!>
行(rows)documents
字段(columns)fields

ElasticSearch(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档中又包含多个字段(列)

2.1物理设计:

elasticsearch在后台把每个索引划分成多个分片,每分分片可以在集群中的不同服务器间迁移

一个人就是一个集群! ,即启动的ElasticSearch服务,默认就是一个集群,且默认集群名为elasticsearch
在这里插入图片描述

2.2物理设计:节点和分片 如何工作

1、创建新索引
在这里插入图片描述
一个集群至少有一个节点,而一个节点就是一个elasticsearch进程,节点可以有多个索引默认的,如果你创建索引,那么索引就会有5个分片,每一个主分片会有一个副本。
在这里插入图片描述
上图是一个有3个节点的集群,可以看到主分片和对应的复制分片都不会在同一个节点内,这样有利于某个节点挂掉了,数据也不至于丢失;
一个分片是一个Lucene索引(一个ElasticSearch索引包含多个Lucene索引),一个包含倒排索引的文件目录,倒排索引的结构使得elasticsearch在不扫描全部文档的情况下,就能告诉你哪些文档包含特定的关键字。

2.3倒排索引(Lucene索引底层)

按(文章关键字)形式建立索引,根据关键字就可直接查询对应的文档(含关键字),无需查询每一个文档

例如:现在有两个文档个,包含内容如下:
Study every day,good good up to forever #文档1包含的内容
To forever ,study every day ,good good up #文档2包含的内容
termdoc_1doc_2
Study×
every××
day
good×
to
up×
forever
如果你搜索day up,根据上表发现doc_1的权重高

ElasticSearch入门学习笔记(二)软件安装篇
ElasticSearch入门学习笔记(三)SpringBoot整合篇
SpringBoot集成BBOSS-ElasticSearch实现ElasticSearch客户端
阿里云Docker安装ES\ES_Head\安装部署logstash导mysql数据入ElasticSearch

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

java亮小白1997

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

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

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

打赏作者

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

抵扣说明:

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

余额充值