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。 |
RESTful | RESTful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以用XML或者JSON格式定义,ES也是基于这个方式来约定开发的,都有标准的HTTP方式,比如说POST、GET、PUT、DELETE等。 |
JSON | JavaScript 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
评论