开始学习Elasticsearch,作为Elastic Stack (Elasticsearch、Logstash、Kibana)的核心,优先学习,贯穿学习Logstash、Kibana的使用。

ElasticSearch 基本概念

定义:基于 Apache Lucene 的开源搜索引擎

核心概念:

1.Node 与 Cluster

Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。

单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。

2.Index

索引是具有某种相似特征的文档的集合。索引有一个名称标识,该名称用于在对其中的文档执行索引、搜索、更新和删除操作时引用索引。

Elastic 会索引所有字段,经过处理后写入一个倒排索引(Inverted Index)。查找数据的时候,直接查找该索引。

所以,Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。

3.Document

文档是可以被索引的基本信息单元。文档用JSON表示。 可以理解为java的对象。

同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同,这样有利于提高搜索效率。

4.Shards 

当有大量的文档时,由于内存的限制、磁盘处理能力不足、无法足够快的响应客户端的请求等,一个节点可能不够。这种情况下,数据可以分为较小的分片。每个分片放到不同的服务器上。 
当你查询的索引分布在多个分片上时,ES会把查询发送给每个相关的分片,并将结果组合在一起,而应用程序并不知道分片的存在。即:这个过程对用户来说是透明的。

5.Replia:副本

为提高查询吞吐量或实现高可用性,可以使用分片副本。 
副本是一个分片的精确复制,每个分片可以有零个或多个副本。ES中可以有许多相同的分片,其中之一被选择更改索引操作,这种特殊的分片称为主分片。 
当主分片丢失时,如:该分片所在的数据不可用时,集群将副本提升为新的主分片。

6.全文检索

全文检索就是对一篇文章进行索引,可以根据关键字搜索,类似于mysql里的like语句。 

中文检索较复杂,常用到分词器,比IK.

ES数据架构的主要概念(与关系数据库Mysql对比)

Elasticsearch学习第一篇---Elasticsearch初认知

 

 ES特点和优势

1)分布式实时文件存储,可将每一个字段存入索引,使其可以被检索到。 
2)实时分析的分布式搜索引擎。 
分布式:索引分拆成多个分片,每个分片可有零个或多个副本。集群中的每个数据节点都可承载一个或多个分片,并且协调和处理各种操作; 
负载再平衡和路由在大多数情况下自动完成。 
3)可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。也可以运行在单台PC上(已测试) 
4)支持插件机制,分词插件、同步插件、Hadoop插件、可视化插件等。

 

相关文章:

  • 2022-01-01
  • 2021-05-30
  • 2021-09-23
  • 2022-12-23
  • 2022-02-22
  • 2022-03-01
  • 2021-08-14
猜你喜欢
  • 2021-12-14
  • 2021-09-29
  • 2022-12-23
  • 2022-01-18
  • 2021-07-10
  • 2021-11-21
  • 2021-07-20
相关资源
相似解决方案