ElasticSearch-Basic Concept

SAMshare

共 1742字,需浏览 4分钟

 ·

2021-11-13 06:16


基础概念

ES,全称是 Elasticsearch,与Kibana、Logstash统称为 ELK技术栈,它是一个开源的分布式全文搜索引擎,近乎实时的进行数据搜索分析,可弹性地扩展资源。目前,GitHub、维基百科、Stack Overflow、百度、阿里都在使用ES作为核心搜索架构。

基础概念定义解释
全文搜索针对数据库的全部文本进行检索,就是通过输入,扫描实现通过文本中的每一个词建立起来的索引,返回这个输入所对应的文档记录。比如说,我们去百度搜索资料,在前端输入“elasticsearch”,那么就会返回和elasticsearch的相关文章。
倒排索引倒排索引是相对正排索引而言的,正排索引,就是我们平时见到的那些,在关系型数据库中的每一条记录,所建立的ID索引,所以我们输入ID,就会具体返回ID所对应的那一条记录。而倒排索引,则是通过关键词来建立索引,然后返回关键词所对应的ID。
RESTfulRESTful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以用XML或者JSON格式定义,ES也是基于这个方式来约定开发的,都有标准的HTTP方式,比如说POST、GET、PUT、DELETE等。
JSONJavaScript Object Notation是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,它易于人类阅读和编写,也易于机器解析和生成。
term-索引词就是ES对文本分词后的内容,用于精准检索的关键词。
cluster-集群一个运行中的ES实例被称之为一个节点,而ES集群可以有1至多个节点,共同对外提供索引和搜索的服务,集群中有且只有一个节点被“选举”为主节点,而其他节点则为从节点。因为ES是去中心化的,也就是说访问任意一个节点就可以访问整个集群,因此也有协调节点的存在。
master node-主节点每个集群只会有一个主节点,当一个主节点宕机了,集群就会立马在从节点中选举出新的主节点,主节点主要是负责管理集群范围内的变更操作,比如新增节点、索引,删除节点、索引。一般它不会去涉及文档级别的变更和搜索。
coordinating node-协调节点集群的任意一个节点都有能力去处理请求,因为根据hash可以计算出数据所在的位置,所以接收请求的节点,只需要把请求转发到数据所在的节点上即可,而处理这类操作的节点,被称之为“协调节点”。
shard-分片为了解决单个节点存储的数据上线,有分片的概念,这个类似于我们的Hive表分区,数据可以分开存储,每个分片都是独立的“索引”。分片除了可以动态扩容存储,也可以提高搜索的性能和吞吐。另外,分片也有分主分片和副本分片,一般数据写入是写到主分片上的,然后再copy到副本分片上去容灾。
index-索引可以简单理解为数据库。
type-类型可以简单理解为数据表。
documents-文档可以简单理解为数据行。
field-字段可以简单理解为数据列。

常见的使用场景:

ES作为一个开源的分布式全文搜索引擎,其性能是毋庸置疑的,我们可以从网路上看到很多应用ES的企业和产品:

企业/产品应用说明

维基百科用于全文资料的检索

GitHub也是同样用于相关托管代码的搜索管理等

日志分析,ELK技术栈在各个公司的产品中使用

内部数据的公共对外提供接口检索服务,比如用户信息查询、用户订单查询等
Stack Overflow,用于全文检索,查找问答内容

📚 Reference

  • 【尚硅谷】ElasticSearch教程入门到精通(基于ELK技术栈elasticsearch 7.8.x版本)https://www.bilibili.com/video/BV1hh411D7sb?p=5&spm_id_from=pageDriver
  • 初识Elasticsearch - 基础概念学习 https://www.cnblogs.com/shoufeng/p/9887327.html


浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报