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(副本)
    创建多个分片副本,副本是分片数据的拷贝,当一个节点服务挂掉不可用或者数据丢失,副本的节点依旧可以提供服务,保证高可用性。
相关推荐
猎人everest1 小时前
SpringBoot应用开发入门
java·spring boot·后端
Elastic 中国社区官方博客7 小时前
Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
孤雪心殇7 小时前
简单易懂,解析Go语言中的Map
开发语言·数据结构·后端·golang·go
隔壁老王1567 小时前
mysql实时同步到es
数据库·mysql·elasticsearch
小突突突8 小时前
模拟实现Java中的计时器
java·开发语言·后端·java-ee
web137656076438 小时前
Scala的宝藏库:探索常用的第三方库及其应用
开发语言·后端·scala
SunnyRivers8 小时前
关于ES中text类型时间字段范围查询的结构化解决方案
elasticsearch·时间·text·范围查询
闲猫9 小时前
go 反射 interface{} 判断类型 获取值 设置值 指针才可以设置值
开发语言·后端·golang·反射
API_technology9 小时前
电商搜索API的Elasticsearch优化策略
大数据·elasticsearch·搜索引擎
LUCIAZZZ10 小时前
EasyExcel快速入门
java·数据库·后端·mysql·spring·spring cloud·easyexcel