二、ElasticSearch 8.6.0 快速使用 - 简介 ES
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": "湖北省武汉市"
}
}
请登录后再评论