二、ElasticSearch 8.6.0 快速使用 - 简介 ES

作者: 温新

分类: 【Elasticsearch】

阅读: 1525

时间: 2023-02-21 16:41:36

hi,我是温新,一名 PHPer

ES 版本:ElasticSearch 8.6.0

系统版本:Rocky Linux 9.1

学习目标:了解 ES 的核心概念

本篇文章结合官方文档编写及参考网络资料编写,虽非全部原创,但也是结合了自己的理解,若转载请附带本文 URL,编写不易,持续编写更不易,谢谢!

什么是 ES

ES 是一个基于 RESTful 风格接口的,分布式、高扩展、高实时的搜索与数据分析引擎。

ES 应用场景

  • 海量数据查询
  • 日志数据分析
  • 实时数据分析

ES 核心概念

  • 索引(index)
  • 映射(mapping)
  • 文档(document)
  • 倒排索引

对于 ES 的这些概念,可以对着 MySQL 进行理解。

索引(index)

​ 是 ES 存储数据的地方 ,可以理解成 MySQL 中的数据库

映射(mapping)

​ 用于定义每个字段的类型、字段使用的分词器等,可以理解为 MySQL 中的数据表结构

文档(document)

​ 是 ES 中的最小数据单品,以 json 显示。一个 document 相当于 MySQL 数据表中的一行数据

倒排索引

​ 文档中所有不重复词的列表构成,对于其中的每个词,都对应一个包含它的文档 ID 列表。

索引

索引的组成部分

  • alias 索引别名;
  • settings 索引设置,常见的设置有 分片和副本的数量等。PHP 操作 ES 索引中,该 settings 设置是必填项;
  • mapping 映射,用于定义索引中包含了哪些字段,及字段的长度、分词器等。

文档

文档结构如下:

{
    "_index": "article",		// 索引名称
    "_id": "1",				   // 文档 id
    "_version": 1,			   // 版本号
    "_seq_no": 0,			   // 索引级别的版本号
    "_primary_term": 1,
    "found": true,
    "_source": {			// 数据源(对应 MySQL 数据表的数据)
        "name": "王五",
        "age": 20,
        "address": "湖北省武汉市"
    }
}
请登录后再评论