From 023e01ec4180de690989c9ddb74b25c5a60cf1af Mon Sep 17 00:00:00 2001 From: dunwu Date: Sat, 8 Jan 2022 20:37:29 +0800 Subject: [PATCH] update docs --- .travis.yml | 2 +- README.md | 2 +- docs/README.md | 2 +- ...csearch-api.md => ElasticsearchRestApi.md} | 192 +++++++++++---- .../Elasticsearch基本概念.md | 222 ++++++++++++++++++ ...kstart.md => Elasticsearch快速入门.md} | 8 +- .../elasticsearch/Elasticsearch简介.md | 22 ++ docs/nosql/elasticsearch/README.md | 13 +- scripts/deploy.sh | 1 - 9 files changed, 401 insertions(+), 63 deletions(-) rename docs/nosql/elasticsearch/{elasticsearch-api.md => ElasticsearchRestApi.md} (62%) create mode 100644 docs/nosql/elasticsearch/Elasticsearch基本概念.md rename docs/nosql/elasticsearch/{elasticsearch-quickstart.md => Elasticsearch快速入门.md} (98%) create mode 100644 docs/nosql/elasticsearch/Elasticsearch简介.md diff --git a/.travis.yml b/.travis.yml index 7f7498f..47463f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ language: node_js sudo: required -node_js: stable +node_js: '16.13.0' branches: only: diff --git a/README.md b/README.md index eb19cfc..26d9ebf 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ - [Elasticsearch 面试总结](docs/nosql/elasticsearch/elasticsearch-interview.md) 💯 - [ElasticSearch 应用指南](docs/nosql/elasticsearch/elasticsearch-quickstart.md) -- [ElasticSearch API](docs/nosql/elasticsearch/elasticsearch-api.md) +- [ElasticSearch API](docs/nosql/elasticsearch/ElasticSearchRestApi.md) - [ElasticSearch 运维](docs/nosql/elasticsearch/elasticsearch-ops.md) #### HBase diff --git a/docs/README.md b/docs/README.md index a257f72..40b0c08 100644 --- a/docs/README.md +++ b/docs/README.md @@ -74,7 +74,7 @@ footer: CC-BY-SA-4.0 Licensed | Copyright © 2018-Now Dunwu - [Elasticsearch 面试总结](nosql/elasticsearch/elasticsearch-interview.md) 💯 - [ElasticSearch 应用指南](nosql/elasticsearch/elasticsearch-quickstart.md) -- [ElasticSearch API](nosql/elasticsearch/elasticsearch-api.md) +- [ElasticSearch API](nosql/elasticsearch/ElasticSearchRestApi.md) - [ElasticSearch 运维](nosql/elasticsearch/elasticsearch-ops.md) #### HBase diff --git a/docs/nosql/elasticsearch/elasticsearch-api.md b/docs/nosql/elasticsearch/ElasticsearchRestApi.md similarity index 62% rename from docs/nosql/elasticsearch/elasticsearch-api.md rename to docs/nosql/elasticsearch/ElasticsearchRestApi.md index 8b38811..dc6b82a 100644 --- a/docs/nosql/elasticsearch/elasticsearch-api.md +++ b/docs/nosql/elasticsearch/ElasticsearchRestApi.md @@ -1,4 +1,4 @@ -# Elasticsearch API +# ElasticSearch Rest API > **[Elasticsearch](https://github.com/elastic/elasticsearch) 是一个分布式、RESTful 风格的搜索和数据分析引擎**,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。 > @@ -6,17 +6,17 @@ > > _以下简称 ES_。 -## 一、REST API - > REST API 最详尽的文档应该参考:[ES 官方 REST API](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) -### 索引 +## 索引 API + +> 参考资料:[Elasticsearch 官方之 cat 索引 API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html) + +### 创建索引 新建 Index,可以直接向 ES 服务器发出 `PUT` 请求。 -#### 创建索引 - -示例:直接创建索引 +(1)直接创建索引 ```bash curl -X POST 'localhost:9200/user' @@ -28,7 +28,23 @@ curl -X POST 'localhost:9200/user' {"acknowledged":true,"shards_acknowledged":true,"index":"user"} ``` -示例:创建索引时指定配置 +(2)创建索引时指定配置 + +语法格式: + +```bash +$ curl -X PUT /my_index +{ + "settings": { ... any settings ... }, + "mappings": { + "type_one": { ... any mappings ... }, + "type_two": { ... any mappings ... }, + ... + } +} +``` + +示例: ```bash $ curl -X PUT -H 'Content-Type: application/json' 'localhost:9200/user' -d ' @@ -42,21 +58,13 @@ $ curl -X PUT -H 'Content-Type: application/json' 'localhost:9200/user' -d ' }' ``` -示例:创建索引时指定 `mappings` +如果你想禁止自动创建索引,可以通过在 `config/elasticsearch.yml` 的每个节点下添加下面的配置: -```bash -$ curl -X PUT -H 'Content-Type: application/json' 'localhost:9200/user' -d ' -{ - "settings" : { - "index" : { - "number_of_shards" : 3, - "number_of_replicas" : 2 - } - } -}' +```js +action.auto_create_index: false ``` -#### 删除索引 +### 删除索引 然后,我们可以通过发送 `DELETE` 请求,删除这个 Index。 @@ -64,55 +72,58 @@ $ curl -X PUT -H 'Content-Type: application/json' 'localhost:9200/user' -d ' curl -X DELETE 'localhost:9200/user' ``` -#### 查看索引 +删除多个索引 + +```js +DELETE /index_one,index_two +DELETE /index_* +``` + +### 查看索引 可以通过 GET 请求查看索引信息 ```bash # 查看索引相关信息 -curl -X GET 'localhost:9200/user' +GET kibana_sample_data_ecommerce -#查看索引的文档总数 -CURL -X 'localhost:9200/user/_count' +# 查看索引的文档总数 +GET kibana_sample_data_ecommerce/_count -#查看前10条文档,了解文档格式 -POST user/_search -{ -} +# 查看前10条文档,了解文档格式 +GET kibana_sample_data_ecommerce/_search -#_cat indices API -#查看indices -CURL -X /_cat/indices/kibana*?v&s=index +# _cat indices API +# 查看indices +GET /_cat/indices/kibana*?v&s=index -#查看状态为绿的索引 -CURL -X /_cat/indices?v&health=green +# 查看状态为绿的索引 +GET /_cat/indices?v&health=green -#按照文档个数排序 -CURL -X /_cat/indices?v&s=docs.count:desc +# 按照文档个数排序 +GET /_cat/indices?v&s=docs.count:desc -#查看具体的字段 -CURL -X /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,docs.count,mt +# 查看具体的字段 +GET /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,docs.count,mt -#How much memory is used per index? -CURL -X /_cat/indices?v&h=i,tm&s=tm:desc +# 查看索引占用的内存 +GET /_cat/indices?v&h=i,tm&s=tm:desc ``` -#### 打开/关闭索引 +### 打开/关闭索引 通过在 `POST` 中添加 `_close` 或 `_open` 可以打开、关闭索引。 -关闭索引 - -```bash -curl -X POST 'localhost:9200/user/_close' -``` 打开索引 ```bash -curl -X POST 'localhost:9200/user/_open' +# 打开索引 +POST kibana_sample_data_ecommerce/_open +# 关闭索引 +POST kibana_sample_data_ecommerce/_close ``` -### 文档 +## 文档 #### 新增记录 @@ -372,9 +383,92 @@ $ curl -H 'Content-Type: application/json' 'localhost:9200/user/admin/_search?pr }' ``` -## 二、Java API +## 集群 API -TODO:待补充... +> [Elasticsearch 官方之 Cluster API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html) + +一些集群级别的 API 可能会在节点的子集上运行,这些节点可以用节点过滤器指定。例如,任务管理、节点统计和节点信息 API 都可以报告来自一组过滤节点而不是所有节点的结果。 + +节点过滤器以逗号分隔的单个过滤器列表的形式编写,每个过滤器从所选子集中添加或删除节点。每个过滤器可以是以下之一: + +- `_all`:将所有节点添加到子集 +- `_local`:将本地节点添加到子集 +- `_master`:将当前主节点添加到子集 +- 根据节点ID或节点名将匹配节点添加到子集 +- 根据IP地址或主机名将匹配节点添加到子集 +- 使用通配符,将节点名、地址名或主机名匹配的节点添加到子集 +- `master:true`, `data:true`, `ingest:true`, `voting_only:true`, `ml:true` 或 `coordinating_only:true`, 分别意味着将所有主节点、所有数据节点、所有摄取节点、所有仅投票节点、所有机器学习节点和所有协调节点添加到子集中。 +- `master:false`, `data:false`, `ingest:false`, `voting_only:true`, `ml:false` 或 `coordinating_only:false`, 分别意味着将所有主节点、所有数据节点、所有摄取节点、所有仅投票节点、所有机器学习节点和所有协调节点排除在子集外。 +- 配对模式,使用 `*` 通配符,格式为 `attrname:attrvalue`,将所有具有自定义节点属性的节点添加到子集中,其名称和值与相应的模式匹配。自定义节点属性是通过 `node.attr.attrname: attrvalue` 形式在配置文件中设置的。 + +```bash +# 如果没有给出过滤器,默认是查询所有节点 +GET /_nodes +# 查询所有节点 +GET /_nodes/_all +# 查询本地节点 +GET /_nodes/_local +# 查询主节点 +GET /_nodes/_master +# 根据名称查询节点(支持通配符) +GET /_nodes/node_name_goes_here +GET /_nodes/node_name_goes_* +# 根据地址查询节点(支持通配符) +GET /_nodes/10.0.0.3,10.0.0.4 +GET /_nodes/10.0.0.* +# 根据规则查询节点 +GET /_nodes/_all,master:false +GET /_nodes/data:true,ingest:true +GET /_nodes/coordinating_only:true +GET /_nodes/master:true,voting_only:false +# 根据自定义属性查询节点(如:查询配置文件中含 node.attr.rack:2 属性的节点) +GET /_nodes/rack:2 +GET /_nodes/ra*:2 +GET /_nodes/ra*:2* +``` + +### 集群健康 API + +```bash +GET /_cluster/health +GET /_cluster/health?level=shards +GET /_cluster/health/kibana_sample_data_ecommerce,kibana_sample_data_flights +GET /_cluster/health/kibana_sample_data_flights?level=shards +``` + +### 集群状态 API + +集群状态 API 返回表示整个集群状态的元数据。 + +```bash +GET /_cluster/state +``` + + + +## 节点 API + +> [Elasticsearch 官方之 cat Nodes API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html)——返回有关集群节点的信息。 + +```bash +# 查看默认的字段 +GET /_cat/nodes?v=true +# 查看指定的字段 +GET /_cat/nodes?v=true&h=id,ip,port,v,m +``` + +## 分片 API + +> [Elasticsearch 官方之 cat Shards API](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-shards.html)——shards 命令是哪些节点包含哪些分片的详细视图。它会告诉你它是主还是副本、文档数量、它在磁盘上占用的字节数以及它所在的节点。 + +```bash +# 查看默认的字段 +GET /_cat/shards +# 根据名称查询分片(支持通配符) +GET /_cat/shards/my-index-* +# 查看指定的字段 +GET /_cat/shards?h=index,shard,prirep,state,unassigned.reason +``` ## 参考资料 diff --git a/docs/nosql/elasticsearch/Elasticsearch基本概念.md b/docs/nosql/elasticsearch/Elasticsearch基本概念.md new file mode 100644 index 0000000..15fe22e --- /dev/null +++ b/docs/nosql/elasticsearch/Elasticsearch基本概念.md @@ -0,0 +1,222 @@ +# Elasticsearch 基本概念 + +## 文档 + +Elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位。 + +Elasticsearch 使用 [_JSON_](http://en.wikipedia.org/wiki/Json) 作为文档的序列化格式。 + +每个文档都有一个 Unique ID + +- 用户可以自己指定 +- 或通过 Elasticsearch 自动生成 + +### 文档的元数据 + +一个文档不仅仅包含它的数据 ,也包含**元数据** —— 有关文档的信息。 + +- `_index`:文档在哪存放 +- `_type`:文档表示的对象类别 +- `_id`:文档唯一标识 +- `_source`:文档的原始 Json 数据 +- `_all`:整合所有字段内容到该字段,已被废除 +- `_version`:文档的版本信息 +- `_score`:相关性打分 + +示例: + +```json +{ + "_index": "megacorp", + "_type": "employee", + "_id": "1", + "_version": 1, + "found": true, + "_source": { + "first_name": "John", + "last_name": "Smith", + "age": 25, + "about": "I love to go rock climbing", + "interests": ["sports", "music"] + } +} +``` + +## 索引 + +索引在不同语境,有着不同的含义 + +- 索引(名词):一个 **索引** 类似于传统关系数据库中的一个 **数据库** ,是一个存储关系型文档的容器。 索引 (_index_) 的复数词为 indices 或 indexes 。索引实际上是指向一个或者多个**物理分片**的**逻辑命名空间** 。 +- 索引(动词):索引一个文档 就是存储一个文档到一个 _索引_ (名词)中以便被检索和查询。这非常类似于 SQL 语句中的 `INSERT` 关键词,除了文档已存在时,新文档会替换旧文档情况之外。 +- 倒排索引:关系型数据库通过增加一个索引比如一个 B 树索引到指定的列上,以便提升数据检索速度。Elasticsearch 和 Lucene 使用了一个叫做 **倒排索引** 的结构来达到相同的目的。 + +索引的 Mapping 和 Setting + +Mapping 定义文档字段的类型 + +Setting 定义不同的数据分布 + +示例: + +``` +{ + "settings": { ... any settings ... }, + "mappings": { + "type_one": { ... any mappings ... }, + "type_two": { ... any mappings ... }, + ... + } +} +``` + +## 节点 + +### 节点简介 + +一个运行中的 Elasticsearch 实例称为一个**节点**。 + +Elasticsearch 实例本质上是一个 Java 进程。一台机器上可以运行多个 Elasticsearch 进程,但是生产环境建议一台机器上只运行一个 Elasticsearch 进程 + +每个节点都有名字,通过配置文件配置,或启动时通过 `-E node.name=node1` 指定。 + +每个节点在启动后,会分配一个 UID,保存在 data 目录下。 + +### 节点类型 + +- **主节点(master node)**:每个节点都保存了集群的状态,只有 master 节点才能修改集群的状态信息(保证数据一致性)。**集群状态**,维护了以下信息: + - 所有的节点信息 + - 所有的索引和其相关的 mapping 和 setting 信息 + - 分片的路由信息 +- **候选节点(master eligible node)**:master eligible 节点可以参加选主流程。第一个启动的节点,会将自己选举为 mater 节点。 + - 每个节点启动后,默认为 master eligible 节点,可以通过配置 `node.master: false` 禁止 +- **数据节点(data node)**:负责保存分片数据。 +- **协调节点(coordinating node)**:负责接收客户端的请求,将请求分发到合适的接地那,最终把结果汇集到一起。每个 Elasticsearch 节点默认都是协调节点(coordinating node)。 +- **冷/热节点(warm/hot node)**:针对不同硬件配置的数据节点(data node),用来实现 Hot & Warm 架构,降低集群部署的成本。 +- **机器学习节点(machine learning node)**:负责执行机器学习的 Job,用来做异常检测。 + +### 节点配置 + +| 配置参数 | 默认值 | 说明 | +| ----------- | ------ | ------------------------------------- | +| node.master | true | 是否为主节点 | +| node.data | true | 是否为数据节点 | +| node.ingest | true | | +| node.ml | true | 是否为机器学习节点(需要开启 x-pack) | + +> **建议** +> +> 开发环境中一个节点可以承担多种角色。但是,在生产环境中,节点应该设置为单一角色。 + +## 集群 + +### 集群简介 + +拥有相同 `cluster.name` 配置的 Elasticsearch 节点组成一个**集群**。 `cluster.name` 默认名为 `elasticsearch`,可以通过配置文件修改,或启动时通过 `-E cluster.name=xxx` 指定。 + +当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。 + +当一个节点被选举成为主节点时,它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。 而主节点并不需要涉及到文档级别的变更和搜索等操作,所以当集群只拥有一个主节点的情况下,即使流量增加,它也不会成为瓶颈。 任何节点都可以成为主节点。 + +作为用户,我们可以将请求发送到集群中的任何节点 ,包括主节点。 每个节点都知道任意文档所处的位置,并且能够将我们的请求直接转发到存储我们所需文档的节点。 无论我们将请求发送到哪个节点,它都能负责从各个包含我们所需文档的节点收集回数据,并将最终结果返回給客户端。 Elasticsearch 对这一切的管理都是透明的。 + +### 集群健康 + +Elasticsearch 的集群监控信息中包含了许多的统计数据,其中最为重要的一项就是 _集群健康_ , 它在 `status` 字段中展示为 `green` 、 `yellow` 或者 `red` 。 + +在一个不包含任何索引的空集群中,它将会有一个类似于如下所示的返回内容: + +```js +{ + "cluster_name" : "elasticsearch", + "status" : "green", + "timed_out" : false, + "number_of_nodes" : 1, + "number_of_data_nodes" : 1, + "active_primary_shards" : 5, + "active_shards" : 5, + "relocating_shards" : 0, + "initializing_shards" : 0, + "unassigned_shards" : 0, + "delayed_unassigned_shards" : 0, + "number_of_pending_tasks" : 0, + "number_of_in_flight_fetch" : 0, + "task_max_waiting_in_queue_millis" : 0, + "active_shards_percent_as_number" : 100.0 +} +``` + +`status` 字段指示着当前集群在总体上是否工作正常。它的三种颜色含义如下: + +- **`green`**:所有的主分片和副本分片都正常运行。 +- **`yellow`**:所有的主分片都正常运行,但不是所有的副本分片都正常运行。 +- **`red`**:有主分片没能正常运行。 + +## 分片 + +### 分片简介 + +索引实际上是指向一个或者多个**物理分片**的**逻辑命名空间** 。 + +一个分片是一个底层的工作单元 ,它仅保存了全部数据中的一部分。一个分片可以视为一个 Lucene 的实例,并且它本身就是一个完整的搜索引擎。 我们的文档被存储和索引到分片内,但是应用程序是直接与索引而不是与分片进行交互。 + +Elasticsearch 是利用分片将数据分发到集群内各处的。分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。 当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。 + +### 主分片和副分片 + +分片分为主分片(Primary Shard)和副分片(Replica Shard)。 + +主分片:用于解决数据水平扩展的问题。通过主分片,可以将数据分布到集群内不同节点上。 + +- 索引内任意一个文档都归属于一个主分片。 +- 主分片数在索引创建时指定,后序不允许修改,除非 Reindex + +副分片(Replica Shard):用于解决数据高可用的问题。副分片是主分片的拷贝。副本分片作为硬件故障时保护数据不丢失的冗余备份,并为搜索和返回文档等读操作提供服务。 + +- 副分片数可以动态调整 +- 增加副本数,还可以在一定程度上提高服务的可用性(读取的吞吐) + +对于生产环境中分片的设定,需要提前做好容量规划 + +分片数过小 + +- 无法水平扩展 +- 单个分片的数量太大,导致数据重新分配耗时 + +分片数过大 + +- 影响搜索结果的相关性打分,影响统计结果的准确性 +- 单节点上过多的分片,会导致资源浪费,同时也会影响性能 + +### 故障转移 + +当集群中只有一个节点运行时,意味着存在单点故障问题——没有冗余。 + +--- + +文档的基本 CRUD 与批量操作 + +倒排索引入门 + +通过分析器进行分词 + +Search API 概览 + +URI Search 详解 + +Request Body 与 Query DSL 简介 + +Query String & Simple Query String 查询 + +Dynamic Mapping 和常见字段类型 + +显式 Mapping 设置与常见参数介绍 + +多字段特性及 Mapping 中配置自定义 Analyzer + +Index Template 和 Dynamic Template + +Elasticsearch 聚合分析简介 + +## 参考资料 + +- [Elasticsearch 官网](https://www.elastic.co/) diff --git a/docs/nosql/elasticsearch/elasticsearch-quickstart.md b/docs/nosql/elasticsearch/Elasticsearch快速入门.md similarity index 98% rename from docs/nosql/elasticsearch/elasticsearch-quickstart.md rename to docs/nosql/elasticsearch/Elasticsearch快速入门.md index 6d0eedc..50fb00f 100644 --- a/docs/nosql/elasticsearch/elasticsearch-quickstart.md +++ b/docs/nosql/elasticsearch/Elasticsearch快速入门.md @@ -1,10 +1,10 @@ -# Elasticsearch 应用指南 +# Elasticsearch 快速入门 > **[Elasticsearch](https://github.com/elastic/elasticsearch) 是一个分布式、RESTful 风格的搜索和数据分析引擎**,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。 > > [Elasticsearch](https://github.com/elastic/elasticsearch) 基于搜索库 [Lucene](https://github.com/apache/lucene-solr) 开发。ElasticSearch 隐藏了 Lucene 的复杂性,提供了简单易用的 REST API / Java API 接口(另外还有其他语言的 API 接口)。 > -> *以下简称 ES*。 +> _以下简称 ES_。 ## 一、Elasticsearch 简介 @@ -121,7 +121,7 @@ java好难学啊 j2ee特别牛 ``` -你根据 `java` 关键词来搜索,将包含 `java` 的 `document` 给搜索出来。es 就会给你返回:java真好玩儿啊,java好难学啊。 +你根据 `java` 关键词来搜索,将包含 `java` 的 `document` 给搜索出来。es 就会给你返回:java 真好玩儿啊,java 好难学啊。 - 客户端发送请求到一个 `coordinate node` 。 - 协调节点将搜索请求转发到**所有**的 shard 对应的 `primary shard` 或 `replica shard` ,都可以。 @@ -208,7 +208,7 @@ buffer 每 refresh 一次,就会产生一个 `segment file`,所以默认情 | 8 | 拉斯 | 3,5 | | 9 | 离开 | 3 | | 10 | 与 | 4 | -| .. | .. | .. | +| .. | .. | .. | 另外,实用的倒排索引还可以记录更多的信息,比如文档频率信息,表示在文档集合中有多少个文档包含某个单词。 diff --git a/docs/nosql/elasticsearch/Elasticsearch简介.md b/docs/nosql/elasticsearch/Elasticsearch简介.md new file mode 100644 index 0000000..a185cd0 --- /dev/null +++ b/docs/nosql/elasticsearch/Elasticsearch简介.md @@ -0,0 +1,22 @@ +# Elasticsearch 简介 + +Elasticsearch 是一款基于 Lunece 的开源分布式搜索分析引擎。 + +为什么使用 Elasticsearch + +- 查询性能好 +- 分布式设计,易于水平扩展 +- 支持多种语言的集成 +- 社区活跃,业界广泛使用 + +## Elastic Stack 生态 + +### Logstash + +### Kibana + +### Beats + +## 参考资料 + +- [Elasticsearch 官网](https://www.elastic.co/) diff --git a/docs/nosql/elasticsearch/README.md b/docs/nosql/elasticsearch/README.md index 814b6fc..10ce45f 100644 --- a/docs/nosql/elasticsearch/README.md +++ b/docs/nosql/elasticsearch/README.md @@ -2,20 +2,21 @@ ## 📖 内容 -### ElasticSearch +### Elasticsearch -> [ElasticSearch](https://www.elastic.co/products/elasticsearch) 是一个基于 [Lucene](http://lucene.apache.org/core/documentation.html) 构建的开源,分布式,RESTful 搜索引擎。 +> [Elasticsearch](https://www.elastic.co/products/elasticsearch) 是一个基于 [Lucene](http://lucene.apache.org/core/documentation.html) 构建的开源,分布式,RESTful 搜索引擎。 - [Elasticsearch 面试总结](elasticsearch-interview.md) 💯 -- [ElasticSearch 应用指南](elasticsearch-quickstart.md) -- [ElasticSearch API](elasticsearch-api.md) -- [ElasticSearch 运维](elasticsearch-ops.md) +- [Elasticsearch 快速入门](Elasticsearch快速入门.md) +- [Elasticsearch 基本概念](Elasticsearch基本概念.md) +- [Elasticsearch Rest API](ElasticsearchRestApi.md) +- [Elasticsearch 运维](elasticsearch-ops.md) ### Elastic 技术栈 > **Elastic 技术栈通常被用来作为日志采集、检索、可视化解决方案。** > -> ELK 是 elastic 公司旗下三款产品 [ElasticSearch](https://www.elastic.co/products/elasticsearch) 、[Logstash](https://www.elastic.co/products/logstash) 、[Kibana](https://www.elastic.co/products/kibana) 的首字母组合。 +> ELK 是 elastic 公司旗下三款产品 [Elasticsearch](https://www.elastic.co/products/elasticsearch) 、[Logstash](https://www.elastic.co/products/logstash) 、[Kibana](https://www.elastic.co/products/kibana) 的首字母组合。 > > [Logstash](https://www.elastic.co/products/logstash) 传输和处理你的日志、事务或其他数据。 > diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 741c3e3..3596f5e 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -16,7 +16,6 @@ cd ${ROOT_DIR}/docs # 生成静态文件 npm install -npm audit fix npm run build # 进入生成的文件夹