diff --git a/docs/elasticsearch.md b/docs/elasticsearch.md
index 0071ef7..d6c8c81 100644
--- a/docs/elasticsearch.md
+++ b/docs/elasticsearch.md
@@ -3,50 +3,55 @@ Elasticsearch 备忘清单
 
 这是 [Elasticsearch](https://www.elastic.co/guide/index.html) 的官方文档。 你可以在这里找到 elasticsearch 的所有文档。
 
-Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并作为看源软件发布。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
-
 入门
-----
-<!--rehype:body-class=cols-2-->
+---
 
 ### 入门
+<!--rehype:wrap-class=row-span-2-->
 
-#### 安装介绍
+Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。
 
-##### 下载
+#### 下载
 
-- 注意
-  
-  version 需替换为指定版本
-  
-  官方包有的功能只能试用,完整功能需要付费,请仔细阅读官网文档。
+注意: `${VERSION}` 需替换为指定版本,官方包有的功能只能试用,完整功能需要付费,请仔细阅读官网文档。
 
-- windows
+#### Windows
 
-    下载地址:
-    
-    [https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-\${VERSION}-windows-x86_64.zip](https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-windows-x86_64.zip)
+```
+https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-windows-x86_64.zip
+```
+<!--rehype:className=wrap-text-->
 
-- linux
+#### linux
 
-    ```shell
-    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz
-    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz.sha512
-    shasum -a 512 -c elasticsearch-${VERSION}-linux-x86_64.tar.gz.sha512 
-    tar -xzf elasticsearch-${VERSION}-linux-x86_64.tar.gz
-    cd elasticsearch-${VERSION}/
-    ```
+```shell
+$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz
 
-- macos
-  
-    ```shell
-    curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-darwin-x86_64.tar.gz
-    curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-darwin-x86_64.tar.gz.sha512 | shasum -a 512 -c - 
-    tar -xzf elasticsearch-${VERSION}-darwin-x86_64.tar.gz
-    cd elasticsearch-${VERSION}/ 
-    ```
+$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz.sha512
 
-#### 启动
+$ shasum -a 512 -c elasticsearch-${VERSION}-linux-x86_64.tar.gz.sha512 
+
+$ tar -xzf elasticsearch-${VERSION}-linux-x86_64.tar.gz
+
+$ cd elasticsearch-${VERSION}/
+```
+<!--rehype:className=wrap-text-->
+
+#### macos
+
+```shell
+$ curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-darwin-x86_64.tar.gz
+
+$ curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-darwin-x86_64.tar.gz.sha512 | shasum -a 512 -c - 
+
+$ tar -xzf elasticsearch-${VERSION}-darwin-x86_64.tar.gz
+
+$ cd elasticsearch-${VERSION}/ 
+```
+<!--rehype:className=wrap-text-->
+
+### 启动
+<!--rehype:wrap-class=col-span-2-->
 
 - 启动 Elasticsearch
 
@@ -59,13 +64,15 @@ Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布
     ```shell
     export ELASTIC_PASSWORD="your_password"
     ```
+
 - 测试是否启动成功
-    
+
     ```shell
     curl --cacert $ES_HOME/config/certs/http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200 
     ```
+    <!--rehype:className=wrap-text-->
 
-    成功则返回样例如下:
+- 成功则返回样例如下:
 
     ```json
     {
@@ -86,10 +93,9 @@ Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布
         "tagline" : "You Know, for Search"
     }
     ```
+<!--rehype:className=style-timeline-->
 
-
-
-### elasticsearch 和 RDMS 的对比
+### Elasticsearch 和 RDMS 的对比
 
 | RDMS                    | elasticsearch     |
 | ----------------------- | ----------------- |
@@ -103,563 +109,498 @@ Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布
 | SELECT * FROM tablename | GET http://...    |
 | UPDATE table SET        | PUT http://...    |
 | DELETE                  | DELETE http://... |
+<!--rehype:className=left-align show-header-->
 
 操作
-----
+---
 
-说明:
+### 基础语法规则
 
-    1. 以 user_info 为索引名称,类比数据库,
-    2. 字段有 id,username,password,nickname,age,info,remark 为例进行演示。
+```shell
+$ curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
+```
+<!--rehype:className=wrap-text-->
 
-# DSL语法
+- `VERB HTTP` 方法:GET, POST, PUT, HEAD, DELETE
+- `PROTOCOL`:http 或者 https 协议(只有在 Elasticsearch 前面有 https 代理的时候可用)
+- `HOST`:Elasticsearch 集群中的任何一个节点的主机名,如果是在本地的节点,那么就叫 localhost
+- `PORT`:Elasticsearch HTTP 服务所在的端口,默认为 9200
+- `PATH API 路径`(例如_count 将返回集群中文档的数量),PATH:可以包含多个组件,例如_cluster/stats 或者_nodes/stats/jvm
+- `QUERY_STRING`:一些可选的查询请求参数,例如?pretty 参数将使请求返回更加美观易读的 JSON 数据
+- `BODY`:一个 JSON 格式的请求主体(如果请求需要的话)
 
-## 基础语法规则
+### 创建索引
+<!--rehype:wrap-class=col-span-2 row-span-3-->
 
-`curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'`
+#### 统一请求 api 前缀
 
-    
-- VERB HTTP 方法:GET, POST, PUT, HEAD, DELETE
+```
+http://localhost:9200/
+```
 
-- PROTOCOL:http 或者 https 协议(只有在 Elasticsearch 前面有 https 代理的时候可用)
+#### DSL语法
 
-- HOST:Elasticsearch 集群中的任何一个节点的主机名,如果是在本地的节点,那么就叫 localhost
-
-- PORT:Elasticsearch HTTP 服务所在的端口,默认为 9200 
-
-- PATH API 路径(例如_count 将返回集群中文档的数量),PATH:可以包含多个组件,例如_cluster/stats 或者_nodes/stats/jvm
-
-- QUERY_STRING:一些可选的查询请求参数,例如?pretty 参数将使请求返回更加美观易读的 JSON 数据
-
-- BODY:一个 JSON 格式的请求主体(如果请求需要的话) 
-
-
-
-# 索引的操作
-
-## 创建索引
-
-- 统一请求 api 前缀 
-
-    http://localhost:9200/
-
-- DSL语法
-
-    ```shell
-    PUT /user_info
-    {
-        "settings": {
-            "number_of_replicas": 1,
-            "number_of_shards": 1
-        },
-        "mappings": {
-            "properties": {
-                "id": {
-                    "type": "long",
-                    "index": true
-                },
-                "username": {
-                    "type": "keyword",
-                    "index": true
-                },
-                "nickname": {
-                    "type": "keyword",
-                    "index": true
-                },
-                "password": {
-                    "type": "keyword",
-                    "index": false
-                },
-                "age": {
-                    "type": "integer",
-                    "index": true
-                },
-                "info": {
-                    "type": "text",
-                    "index": true
-                },
-                "remark": {
-                    "type": "text",
-                    "index": true
-                }
-            }
-        }
+```json
+PUT /user_info
+{
+  "settings": { "number_of_replicas": 1, "number_of_shards": 1 },
+  "mappings": {
+    "properties": {
+      "id": { "type": "long", "index": true },
+      "username": { "type": "keyword", "index": true },
+      "nickname": { "type": "keyword", "index": true },
+      "password": { "type": "keyword", "index": false },
+      "age": { "type": "integer", "index": true },
+      "info": { "type": "text", "index": true },
+      "remark": { "type": "text", "index": true }
     }
-    ```
+  }
+}
+```
 
-- curl 
+#### curl
 
-    ```shell
-    curl -XPUT "http://localhost:9200/user_info" -H 'Content-Type: application/json' -d'{ "settings": { "number_of_replicas": 1, "number_of_shards": 1 }, "mappings": { "properties": { "id": { "type": "long", "index": true }, "username": { "type": "keyword", "index": true }, "nickname": { "type": "keyword", "index": true }, "password": { "type": "keyword", "index": false }, "age": { "type": "integer", "index": true }, "info": { "type": "text", "index": true }, "remark": { "type": "text", "index": true } } } }'
-    ```
+```shell
+curl -XPUT "http://localhost:9200/user_info" -H 'Content-Type: application/json' -d'{ "settings": { "number_of_replicas": 1, "number_of_shards": 1 }, "mappings": { "properties": { "id": { "type": "long", "index": true }, "username": { "type": "keyword", "index": true }, "nickname": { "type": "keyword", "index": true }, "password": { "type": "keyword", "index": false }, "age": { "type": "integer", "index": true }, "info": { "type": "text", "index": true }, "remark": { "type": "text", "index": true } } } }'
+```
+<!--rehype:className=wrap-text-->
 
-- 参数说明:
+#### 参数说明
 
-    settings:索引信息设置
+- `settings`: 设置索引的信息
+- `number_of_shards`: 每个索引的主分片数,一旦索引创建后,无法修改此配置
+- `number_of_replicas`: 每个主分片的副本数,此配置可随时修改
+- `mappings`: 索引映射定义
+- `properties`: 字段定义。使用 JSON 配置,键为字段名称(自定义),值为嵌套 JSON,其中 `type` 指定字段的类型
 
-    number_of_shards:每个索引的主分片数,这个配置在索引创建后不能修改
+其他参数很多,请参考官网资料
 
-    number_of_replicas:每个主分片的副本数,这个配置可以随时修改。
+### 删除索引
 
-    mappings:索引映射定义
+#### DSL语法
 
-    properties:字段定义 properties里是json配置,key为字段名称(自定义名称),value是个嵌套json,type是指定字段的类型。
+```http
+DELETE /user_info
+```
 
-    -- 其他参数很多,请参考官网资料
+#### curl
 
-## 删除索引
+```shell
+curl -XDELETE "http://localhost:9200/user_info"
+```
+<!--rehype:className=wrap-text-->
 
-- DSL语法
+### 判断索引是否存在
 
-    ```http
-    DELETE /user_info
-    ``` 
+#### DSL语法
 
-- curl
-  
-    ```shell
-    curl -XDELETE "http://localhost:9200/user_info"
-    ```
+```http
+# 查看索引是否存在
+HEAD /user_info
+```
 
+#### curl
 
-## 判断索引是否存在
+```shell
+# 查看索引是否存在
+curl -XHEAD "http://localhost:9200/user_info"
+```
+<!--rehype:className=wrap-text-->
 
-- DSL语法
-  
-    ```http
-    # 查看索引是否存在
-    HEAD /user_info
-    ```
+### 开启/关闭索引
 
-- curl
-  
-    ```shell
-    # 查看索引是否存在
-    curl -XHEAD "http://localhost:9200/user_info"
-    ```
+#### 开启DSL语法
 
-## 开启/关闭索引
+```shell
+POST /user_info/_open
+```
 
-- 开启DSL语法
-  
-    ```http
-    # 开启索引
-    POST /user_info/_open
-    ```
+`curl`
 
-- curl
-  
-    ```shell
-    # 开启索引
-    curl -XPOST "http://localhost:9200/user_info/_open"
-    ```
+```shell
+curl -XPOST "http://localhost:9200/user_info/_open"
+```
+<!--rehype:className=wrap-text-->
 
--  关闭DSL语法
-  
-    ```http
-    # 关闭索引
-    POST /user_info/_close
-    ```
+#### 关闭 DSL 语法
 
-- curl
-  
-    ```shell
-    # 关闭索引
-    curl -XPOST "http://localhost:9200/user_info/_close"
-    ```
+```shell
+POST /user_info/_close
+```
 
+`curl`
 
+```shell
+curl -XPOST "http://localhost:9200/user_info/_close"
+```
+<!--rehype:className=wrap-text-->
 
-## 索引的别名
+### 索引的别名
+<!--rehype:wrap-class=col-span-2-->
 
-- 添加别名DSL语法
+- 添加别名 DSL 语法
 
-    ```http
-    # 添加别名
-    POST /user_info/_alias/user1
-    ```
-
-- 添加别名curl
-  
-    ```shell
-    # 添加别名
-    curl -XPOST "http://localhost:9200/user_info/_alias/user1"
-    ```
+```shell
+POST /user_info/_alias/user1
+```
 
+```shell
+curl -XPOST "http://localhost:9200/user_info/_alias/user1"
+```
 
 - 删除别名DSL语法
-  
-  ```http
-  # 删除别名
-  DELETE /user_info/_alias/user1
-  ```
 
-- 删除别名curl
+```shell
+DELETE /user_info/_alias/user1
+```
 
-    ```shell
-    # 删除别名
-    curl -XDELETE "http://localhost:9200/user_info/_alias/user1"
-    ```
+```shell
+curl -XDELETE "http://localhost:9200/user_info/_alias/user1"
+```
 
 - 查看别名DSL语法
 
-    ```http
-    # 查看别名
-    GET /_alias/user1
-    ```
+```shell
+GET /_alias/user1
+```
 
+```shell
+curl -XGET "http://localhost:9200/_alias/useraa"
+```
 
-- 查看别名curl
-
-    ```shell
-    # 查看别名
-    curl -XGET "http://localhost:9200/_alias/useraa"
-    ```
-
-## mapping 操作
+Mapping 操作
+---
 
 类似修改数据库中列的操作
 
 ### 查看 mapping
 
-- DSL语法
-  
-    ```http 
-    # 查看mapping
-    GET /user_info/_mapping
-    ```
+#### DSL语法
 
-- curl
-  
-    ```shell
-    # 查看mapping
-    curl -XGET "http://localhost:9200/user_info/_mapping"
-    ```
+```shell
+GET /user_info/_mapping
+```
 
-### 新增 mapping 
+---
 
-- 注意
-  
-  **需要注意的是字段映射只能增加,不能更改删除**
+```shell
+curl -XGET "http://localhost:9200/user_info/_mapping"
+```
+<!--rehype:className=wrap-text-->
 
-- DSL语法
-  
-    ```http
-    # 新增mapping 
-    PUT /user_info/_mapping
-    {
-        "properties":{
-            "sex":{
-                "type":"keyword"
-            }
-        }
+### 新增 mapping
+<!--rehype:wrap-class=col-span-2-->
+
+#### DSL语法
+
+```shell
+PUT /user_info/_mapping
+{
+    "properties":{
+        "sex":{ "type":"keyword" }
     }
-    ```
+}
+```
 
-- curl
-  
-    ```shell
-    # 新增mapping 
-    curl -XPUT "http://localhost:9200/user_info/_mapping" -H 'Content-Type: application/json' -d'{ "properties":{ "sex":{ "type":"keyword" } } }'
-    ```
+---
 
-# 文档的操作
+```shell
+curl -XPUT "http://localhost:9200/user_info/_mapping" -H 'Content-Type: application/json' -d'{ "properties":{ "sex":{ "type":"keyword" } } }'
+```
+<!--rehype:className=wrap-text-->
 
-##  添加文档
-- DSL语法
+`注意`: 需要注意的是字段映射只能增加,不能更改删除
 
-    ```http
-    # 新增一条数据
-    POST /user_info/_doc/1
-    {
-        "id":1,
-        "username":"username",
-        "password":"123456",
-        "nickname":"nickname",
-        "age":18,
-        "info":"一些个人相关的介绍",
-        "remark":"备注信息",
-        "sex":"男"
+文档的操作
+---
+
+### 添加文档
+<!--rehype:wrap-class=row-span-2-->
+
+#### 新增一条数据 - DSL语法
+
+```shell
+POST /user_info/_doc/1
+{
+    "id":1,
+    "username":"username",
+    "password":"123456",
+    "nickname":"nickname",
+    "age":18,
+    "info":"一些个人相关的介绍",
+    "remark":"备注信息",
+    "sex":"男"
+}
+```
+
+---
+
+```shell
+curl -XPOST "http://localhost:9200/user_info/_doc/1" -H 'Content-Type: application/json' -d'{ "id":1, "username":"username", "password":"123456", "nickname":"nickname", "age":18, "info":"一些个人相关的介绍", "remark":"备注信息", "sex":"男" }'
+```
+<!--rehype:className=wrap-text-->
+
+### 查询指定索引的所有文档
+<!--rehype:wrap-class=row-span-2-->
+
+类似数据库中的 `select * from user_info;`
+
+#### DSL语法
+
+```json
+GET /user_info/_search
+{
+    "query": {
+        "match_all": {}
     }
-    ```
+}
+```
 
-- curl
-  
-    ```shell
-    # 新增一条数据
-    curl -XPOST "http://localhost:9200/user_info/_doc/1" -H 'Content-Type: application/json' -d'{ "id":1, "username":"username", "password":"123456", "nickname":"nickname", "age":18, "info":"一些个人相关的介绍", "remark":"备注信息", "sex":"男" }'
-    ```
+---
 
+```shell
+curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} } }'
+```
+<!--rehype:className=wrap-text-->
 
-## 查询指定索引的所有文档
+### 通过 id 查询文档
 
-- 类似数据库中的 `select * from user_info;`
+类似数据库中的 `select * from user_info where id = 1;`
 
-- DSL语法
-  
-    ```http
-    GET /user_info/_search
-    {
-        "query": {
-            "match_all": {}
-        }
-    }
-    ```
+#### DSL语法
 
-- curl
-  
-    ```shell
-    curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} } }'
-    ```
+```shell
+GET /user_info/_doc/1
+```
 
-## 通过 id 查询文档
+---
 
-- 类似数据库中的 `select * from user_info where id = 1;`
-
-- DSL语法
-  
-    ```http
-    # 通过id查询
-    GET /user_info/_doc/1
-    ```
-
-- curl
-  
-    ```shell
-    # 通过id查询
-    curl -XGET "http://localhost:9200/user_info/_doc/1"
-    ```
-
-
-## 通过条件查询文档
-
-### 精确查找
-
-- 类似数据库中的 `select * from user_info where username = 'username';`
-  
-- DSL语法
-  
-    ```http
-    # 通过条件查询
-    GET /user_info/_search
-    {
-        "query": {
-            "bool": {
-                "must": [
-                    { "term": { "username": "username" } }
-                ]
-            }
-        }
-    }
-    ```
-
-- curl
-  
-    ```shell
-    # 通过条件查询
-    curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "must": [ { "term": { "username": "username" } } ] } } }'
-    ```
+```shell
+curl -XGET "http://localhost:9200/user_info/_doc/1"
+```
+<!--rehype:className=wrap-text-->
 
 ### 模糊查找
 
-- 类似数据库中的模糊查询 `select * from user_info where info like '%人%';`
+类似数据库中的模糊查询 `select * from user_info where info like '%人%';`
 
-- DSL语法
+#### DSL语法
+
+```json
+GET /user_info/_search
+{
+    "query": { "match": { "info": "人" } }
+}
+```
+
+### 通过条件查询文档
+<!--rehype:wrap-class=col-span-2-->
+
+类似数据库中的 `select * from user_info where username = 'username';`
   
-    ```http
-    # 模糊查找
-    GET /user_info/_search
-    {
-        "query": {
-            "match": {
-            "info": "人"
-            }
+#### 通过条件查询 - DSL语法
+
+```json
+GET /user_info/_search
+{
+    "query": {
+        "bool": {
+            "must": [ { "term": { "username": "username" } } ]
         }
     }
-    ```
+}
+```
 
+---
 
+```shell
+curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "must": [ { "term": { "username": "username" } } ] } } }'
+```
+<!--rehype:className=wrap-text-->
 
 ### 范围查找
 
-- 类似数据库中的范围查询 `select * from user_info where age between 18 and 30;`
+类似数据库中的范围查询 `select * from user_info where age between 18 and 30;`
 
-- DSL语法
+#### DSL语法
 
-    ```http
-    GET /user_info/_search
-    {
-        "query": {
-            "range": {
-                "age": {
-                    "gt": 18,
-                    "lt": 30
-                }
+```json
+GET /user_info/_search
+{
+    "query": {
+        "range": {
+            "age": {
+                "gt": 18,
+                "lt": 30
             }
         }
     }
-    ```
+}
+```
 
-- curl
-  
-    ```shell
-    curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "range": { "age": { "gt": 18, "lt": 30 } } } }'
-    ```
+---
+
+```shell
+curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "range": { "age": { "gt": 18, "lt": 30 } } } }'
+```
+<!--rehype:className=wrap-text-->
+
+### and 查询
+<!--rehype:wrap-class=col-span-2-->
+
+类似数据库中的 and 查询 `select * from user_info where age > 18 and sex = '男';`
+
+#### DSL语法
+
+```json
+GET /user_info/_search  
+{  
+  "query": {
+    "bool": {
+      "must": [
+        { "range": { "age": { "gt": 18 } } },
+        { "term": { "sex": "男" } }
+      ]   
+    }
+  }
+}
+```
+
+---
+
+```shell
+curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "must": [ { "range": { "age": { "gt": 17 } } }, { "term": { "sex": "男" } } ] } } }'
+```
+<!--rehype:className=wrap-text-->
 
 ### limit 查找
 
-- 类似数据库中的 limit 查询 `select * from user_info limit 10;`
-  
-- DSL语法
-  
-    ```http
-    GET /user_info/_search  
-    {  
-        "size": 10,  
-        "query": {  
-            "match_all": {}     
-        }
-    }
-    ```
+类似数据库中的 limit 查询 `select * from user_info limit 10;`
 
-- curl
-  
-    ```shell
-    curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "size": 1, "query": { "match_all": {} } }'
-    ```
+#### DSL语法
+
+```json
+GET /user_info/_search  
+{  
+    "size": 10,  
+    "query": {  
+        "match_all": {}     
+    }
+}
+```
+
+---
+
+```shell
+curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "size": 1, "query": { "match_all": {} } }'
+```
+<!--rehype:className=wrap-text-->
 
 ### limit offset 查找
 
-- 类似数据库中的 limit 查询 `select * from user_info limit 0,10;`
+类似数据库中的 limit 查询 `select * from user_info limit 0,10;`
 
-- DSL语法
+#### DSL语法
+
+```http
+GET /user_info/_search  
+{  
+    "size": 2,  
+    "from": 1,  
+    "query": {  
+        "match_all": {}  
+    }  
+}
+```
+
+---
+
+```shell
+curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "size": 2, "from": 1, "query": { "match_all": {} } }'
+```
+<!--rehype:className=wrap-text-->
+
+#### 参数说明
   
-    ```http
-    GET /user_info/_search  
-    {  
-        "size": 2,  
-        "from": 1,  
-        "query": {  
-            "match_all": {}  
-        }  
-    }
-    ```
-
-- curl
-  
-    ```shell
-    curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "size": 2, "from": 1, "query": { "match_all": {} } }'
-    ```
-
-- 参数说明
-  
-  - "size": 10表示我们想要返回的结果数量是10条。
-  - "from": 20表示我们想要从结果集中的第21条记录开始返回(因为偏移是从0开始的)。
-  - "query": `{"match_all": {}}` 是一个匹配所有文档的查询,因为我们没有特定的查询条件,只是想要分页结果。
-
-### and 查询
-
-- 类似数据库中的 and 查询 `select * from user_info where age > 18 and sex = '男';`
-  
-- DSL语法
-
-    ```http
-    GET /user_info/_search  
-    {  
-        "query": {
-            "bool": {
-                "must": [
-                    { "range": { "age": { "gt": 18 } } },
-                    { "term": { "sex": "男" } }
-                ]   
-            }
-        }
-    }
-    ```
-
-- curl
-  
-    ```shell
-    curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "must": [ { "range": { "age": { "gt": 17 } } }, { "term": { "sex": "男" } } ] } } }'
-    ```
+- `size`: 10 表示我们想要返回的结果数量是10条
+- `from`: 20 表示我们想要从结果集中的第21条记录开始返回(因为偏移是从0开始的)
+- `query`: `{"match_all": {}}` 是一个匹配所有文档的查询,因为我们没有特定的查询条件,只是想要分页结果
 
 ### or 查询
+<!--rehype:wrap-class=col-span-2-->
 
-- 类似数据库中的 or 查询 `select * from user_info where age > 18 or sex = '男';`
+类似数据库中的 or 查询 `select * from user_info where age > 18 or sex = '男';`
 
-- DSL语法
-  
-    ```http
-    GET /user_info/_search
-    {
-        "query": {
-            "bool": {
-            "should": [
-                {
-                    "range": {
-                        "age": {
-                            "gt": 18
-                        }
-                    }
-                },
-                {
-                    "term": {
-                        "sex": "男"
-                    }
+#### DSL语法
+
+```json
+GET /user_info/_search
+{
+    "query": {
+        "bool": {
+        "should": [
+            {
+                "range": {
+                    "age": { "gt": 18 }
                 }
-            ]
+            },
+            {
+                "term": { "sex": "男" }
             }
+        ]
         }
     }
-    ```
+}
+```
 
-- curl
-  
-    ```shell
-    curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "should": [ { "range": { "age": { "gt": 18 } } }, { "term": { "sex": "男" } } ] } } }'
-    ```
+---
 
+```shell
+curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "should": [ { "range": { "age": { "gt": 18 } } }, { "term": { "sex": "男" } } ] } } }'
+```
+<!--rehype:className=wrap-text-->
 
-## 删除文档
+删除文档
+---
 
 ### 删除指定 id
 
-- 类似数据库中的 delete 查询 `delete from user_info where id = 3;`
+类似数据库中的 delete 查询 `delete from user_info where id = 3;`
 
-- DSL语法
-  
-    ```http
-    # 删除文档
-    DELETE /user_info/_doc/3
-    ```
+#### DSL语法
 
-- curl
-  
-    ```shell
-    # 删除文档
-    curl -XDELETE "http://localhost:9200/user_info/_doc/3"
-    ```
+```shell
+# 删除文档
+DELETE /user_info/_doc/3
+```
+
+---
+
+```shell
+# 删除文档
+curl -XDELETE "http://localhost:9200/user_info/_doc/3"
+```
+<!--rehype:className=wrap-text-->
 
 ### 删除指定条件
+<!--rehype:wrap-class=col-span-2-->
 
-- 类似数据库中的 delete 查询 `delete from user_info where age > 18;`
+类似数据库中的 delete 查询 `delete from user_info where age > 18;`
   
-- DSL语法
-  
-    ```http
-    POST /user_info/_delete_by_query
-    {
-        "query": {
-            "range": {
-                "age": {
-                    "gt": 18
-                }
-            }
-        }
+#### DSL语法
+
+```json
+POST /user_info/_delete_by_query
+{
+    "query": {
+        "range": { "age": { "gt": 18 } }
     }
-    ```
-- curl
-  
-    ```shell
-   curl -XPOST "http://localhost:9200/user_info/_delete_by_query" -H 'Content-Type: application/json' -d'{"query":{"range":{"age":{"gt":18}}}}'
-    ```
+}
+```
+
+---
+
+```shell
+curl -XPOST "http://localhost:9200/user_info/_delete_by_query" -H 'Content-Type: application/json' -d'{"query":{"range":{"age":{"gt":18}}}}'
+```
+<!--rehype:className=wrap-text-->