3个你需要知道的Elasticsearch技巧

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 3个你需要知道的Elasticsearch技巧

最近在做Elasticsearch开发维护工作,所以今天分享三个Elasticsearch的简单技巧。没有什么高大上,就是简单工作总结。


一、使用alias(别名)管理索引


首先我们要说的是索引alias

alias就是一个快捷方式或者说软链接,可以指向1个或者多个索引,通过alias我们可以实现更好的实现索引的管理, 比如查找搜索,分类数据,切换索引等。

  1. 创建,删除别名
curl -XPOST 'localhost:9200/_aliases' -d 
{
  "actions": [
      {"remove": {"index": "day1", "alias": "week2"}},
      {"add": {"index": "day1", "alias": "week1"}},
      {"add": {"index": "day2", "alias": "week1"}}
  ]
}
在这里add,remove方法也可以分开单独写。


通过上面添加alias,我们就可以用week1获取操作几天的索引数据了。


之前: curl localhost:9200/day1,day2/_search
现在: curl localhost:9200/week1/_search


二、使用cat API查看集群信息

之前我们需要查看集群信息都是通过集群API获取,但是返回数据为JSON格式,不利于理解,而且也不便于记忆。为快速方便看集群的各种监控或者配置情况,我们可以通过使用一个友好API, cat API

curl localhost:9200/_cat
=^.^=
/_cat/allocation  # 返回分片分配和磁盘使用的信息
/_cat/shards # 返回关于分片的信息
/_cat/shards/{index} 
/_cat/master # 返回当选主节点信息
/_cat/nodes # 返回集群拓扑相关信息
/_cat/tasks 
/_cat/indices # 返回所有索引信息
/_cat/indices/{index}
/_cat/segments # 索引段包括分片布局的API信息
/_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 # 输出当前正在存在的模板信息

可以通过 curl localhost:9200/_cat/health?v 查看集群健康度,通过v可以看到具体字段及对应的信息。


三、维护节点推迟再平衡

在服务版本升级或者需要进行一些维护操作,我们通常会重启服务,但是我当我们关闭一个节点的时候,集群会发现节点丢失会进行再平衡,如果集群维护时间短(集群数据量大),这样会造成数据分片再平衡花费较长时间。


通过下面方式关闭分片分配:

PUT /_cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "none"
    }
}

然后关闭单个节点,维护升级,重启,最后进行如下设置:

PUT /_cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "all"
    }
}


通过上面的三个简单方法,希望大家在使用ES将更加得心应手。


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
JavaScript 数据格式
Vue axios请求拦截和相应拦截
Vue axios请求拦截和相应拦截
169 2
|
Android开发 开发者
手机开发者模式进入步骤
手机怎么进入开发者模式?   安卓手机打开“设置”,进入“关于手机”,连续快速的点击“版本号”,即可进入开发者模式。另外,快速的三连点击“Android版本”,会出现有趣的画面,单击此画面,待变化后再长按2秒放手,会有更有趣的画面。  下面,我们就来看看手机开发者模式进入步骤。   1、在桌面找到设置按钮,点击进入。   2、进入全部设置,选项卡,找到最下面的,关于手机选项,点击进入。   3、在android版本号上面连续点击,就可以看到有提示信息出来说开发模式打开。   4、回到设置里面就可以看到多出来的开发者模式选项,点击进入,就可以找到usb调试选项了,点击后面的开关就可以
|
2天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
13天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1284 5
|
12天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1313 87
|
1天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
174 82
2025年阿里云域名备案流程(新手图文详细流程)