Es命令操作


_cat/health?v  查看集群健康状态
_cat/indices?v 查看集群索引数
_cat/allocation?v               查看集群所在磁盘的分配状况
/_cat/nodes?v                    查看集群的节点


_cat/    查看集群其他信息
/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/tasks
/_cat/indices
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/thread_pool/{thread_pools}
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
/_cat/nodeattrs
/_cat/repositories
/_cat/snapshots/{repository}
/_cat/templates

Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,广泛用于实时数据分析、日志处理、全文搜索等场景。掌握其常用操作命令对于开发和运维人员至关重要。以下是 Elasticsearch 中的一些基本和常用操作命令,涵盖索引管理、数据操作、集群设置等方面。 ### 索引管理 索引是 Elasticsearch 中的基本概念之一,类似于数据库中的“数据库”。常见的索引管理命令如下: - **创建索引** 使用以下命令创建一个名为 `my-index` 的索引: ```bash PUT /my-index ``` - **查看索引信息** 可以通过以下命令获取指定索引的详细信息: ```bash GET /my-index ``` - **删除索引** 删除一个或多个索引,例如删除 `my-index`: ```bash DELETE /my-index ``` 若要使用通配符批量删除索引,需先开启相关设置: ```bash PUT /_cluster/settings { "persistent": { "action.destructive_requires_name": false } } ``` 然后执行删除命令,例如删除所有以 `log-` 开头的索引: ```bash DELETE /log-* ``` 删除完成后建议恢复设置: ```bash PUT /_cluster/settings { "persistent": { "action.destructive_requires_name": true } } ``` - **更新副本数和分片数** 可以在创建索引时指定分片数和副本数,也可以在创建后修改副本数: ```bash PUT /my-index { "settings": { "number_of_shards": 3, "number_of_replicas": 2 } } ``` 修改副本数: ```bash PUT /my-index/_settings { "number_of_replicas": 3 } ``` ### 数据操作 Elasticsearch 支持多种数据操作方式,包括文档的增删改查。 - **添加文档** 可以为文档指定 ID 或让系统自动生成: ```bash POST /my-index/_doc/1 { "title": "Elasticsearch Basics", "content": "Introduction to Elasticsearch" } ``` - **获取文档** 通过指定索引和文档 ID 获取数据: ```bash GET /my-index/_doc/1 ``` - **更新文档** 更新文档内容时,可以使用 `POST` 或 `PUT` 方法: ```bash POST /my-index/_update/1 { "doc": { "content": "Updated content" } } ``` - **删除文档** 删除指定文档: ```bash DELETE /my-index/_doc/1 ``` ### 查询操作 Elasticsearch 提供了强大的查询功能,支持多种查询方式。 - **基本查询** 查询所有文档: ```bash GET /my-index/_search { "query": { "match_all": {} } } ``` - **基于字段的查询** 例如查询 `title` 字段中包含 `Elasticsearch` 的文档: ```bash GET /my-index/_search { "query": { "match": { "title": "Elasticsearch" } } } ``` - **过滤查询** 过滤器查询不计算相关性得分,适合精确匹配: ```bash GET /my-index/_search { "query": { "term": { "title.keyword": "Elasticsearch" } } } ``` ### 集群与节点管理 Elasticsearch 的集群和节点管理也是日常运维的重要部分。 - **查看集群健康状态** 获取集群的整体健康状态: ```bash GET /_cluster/health ``` - **查看节点信息** 获取当前集群中所有节点的信息: ```bash GET /_cat/nodes?v ``` - **更新集群设置** 修改集群的持久化设置,例如开启批量删除功能: ```bash PUT /_cluster/settings { "persistent": { "action.destructive_requires_name": false } } ``` ### 查询与过滤上下文 Elasticsearch 中的查询分为查询上下文(Query Context)和过滤上下文(Filter Context)[^1]。查询上下文会计算文档的相关性得分,而过滤上下文则不计算,适用于精确匹配。例如,在过滤上下文中使用 `bool` 查询: ```bash GET /my-index/_search { "query": { "bool": { "filter": [ { "term": { "status": "published" } } ] } } } ``` ### 总结 Elasticsearch 提供了丰富的命令和 API 接口来管理索引、操作数据以及监控集群状态。熟练掌握这些常用命令可以提高开发效率并简化运维工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值