ElasticSearch 入门教程 —— 基本概念

简介

Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time.

上面是来自官网对 Elasticsearch 的描述: Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它允许我们快速、近乎实时地存储、搜索和分析大量数据。

所以可以理解为 ES 是一款存储数据的软件,我们将大量的数据存储到 ES 当中,然后利用 ES 强大的检索和分析功能,高效检索和分析我们存在 ES 当中的数据。那么,什么是全文搜索呢?其实很常见,例如在百度当中输入关键字,然后去匹配对应的内容,这就是一种全文搜索,再如,使用关系型数据库 MySQL 当中用 LIKE 去匹配相关的关键字。

应用场景

  • 作为一个应用的全文搜索引擎使用。比如:一个购物网站或者 APP 的商品搜索。
  • 数据分析:我们通常使用 ELK(ES、Logstash、Kibana) 技术栈作为日志收集的工具,收集大量数据并进行分析使用。

概念术语

  • node(节点)
    ES 的一个运行实例,存储了部分文档数据。
  • Cluster(集群)
    多个节点的集合,这些节点将共同拥有完整的数据,并跨节点提供联合搜索和分析功能。使用集群避免单点故障,在一个节点意外宕机的情况下,其他节点亦可对外提供服务。
  • Index(索引)
    具有某些相似特性的文档的集合。
  • Document(文档)
    数据以文档的形式存储在 ES 当中,以 JSON 表示。
  • Shard(分片)
    一个索引可以水平切分为多个分片,每个分片也相当于一个"索引",即:一个分片当中存储一部分文档,多个分片可以分布在集群的不同节点上。这样做的优点是实现大数据的存储和分析,单个节点存储的容量有限,可以将数据存储分布到多个节点当中,可以跨分片并行操作,从而提高性能和吞吐量。
  • Replica(副本)
    创建多个分片副本,副本是分片数据的拷贝,当一个节点服务挂掉不可用或者数据丢失,副本的节点依旧可以提供服务,保证高可用性。
相关推荐
aramae9 分钟前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
徐小夕1 小时前
存量.doc 文档怎么办?JitWord 开源转换库打通旧文档到在线协同全链路
后端·架构·github
ee又momo1 小时前
一次 JWT Token 过期续期的踩坑记录
后端
二月龙1 小时前
App 瘦身实战:图片、so 库、资源压缩,安装包体积减小 40%
后端
大勇前进1 小时前
Kotlin 协程实战避坑:90% 的人都会踩的生命周期泄漏问题
后端
苏三说技术2 小时前
Spring AI、LangChain4j、AgentScope、Embabel,哪个AI框架更好?
后端
烽学长2 小时前
(附源码)基于Springboot+vue的图书阅读分享系统的设计与实现
java·spring boot·后端
isfox2 小时前
Python 单例模式:一个类只能有一个实例,到底怎么实现?
后端
青山木2 小时前
RocketMQ 入门到原理(三):消息存储原理
java·后端·中间件·架构·rocketmq