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(副本)
    创建多个分片副本,副本是分片数据的拷贝,当一个节点服务挂掉不可用或者数据丢失,副本的节点依旧可以提供服务,保证高可用性。
相关推荐
IT_陈寒10 小时前
Redis性能翻倍的5个冷门技巧,90%开发者都不知道第3个!
前端·人工智能·后端
p***976110 小时前
SpringBoot(7)-Swagger
java·spring boot·后端
j***294810 小时前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
晨非辰10 小时前
C++ 波澜壮阔 40 年:从基础I/O到函数重载与引用的完整构建
运维·c++·人工智能·后端·python·深度学习·c++40周年
张较瘦_10 小时前
Springboot | Spring Boot 3 纯 JDBC 实现宠物管理系统增删改查(无 ORM 框架)
spring boot·后端·数据库开发
h***673712 小时前
SpringBoot整合easy-es
spring boot·后端·elasticsearch
S***267518 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
@大迁世界20 小时前
相信我兄弟:Cloudflare Rust 的 .unwrap() 方法在 330 多个数据中心引发了恐慌
开发语言·后端·rust
5***g29820 小时前
新手如何快速搭建一个Springboot项目
java·spring boot·后端
2***B4491 天前
Rust在系统编程中的内存安全
开发语言·后端·rust