当前位置: 首页 > news >正文

es:python: 操作elasticsearch中的别名alias:创建、列出、修改指向的索引库、判断是否存在

一,创建别名和列出所有别名

import os
from elasticsearch import Elasticsearchpwd = os.path.dirname(os.path.realpath(__file__))ELASTICSEARCH_HOST = 'http://localhost:9200'
client = Elasticsearch(ELASTICSEARCH_HOST, basic_auth=('elastic', '1234'))# 定义别名的名字:
index_name = "product_7"
alias_name = "prod_alias_7"
# 创建别名
client.indices.put_alias(index=index_name, name=alias_name)# 列出所有的别名:# 1. 获取所有索引列表
indices = client.cat.indices(format='json')# 2. 获取所有 alias 名称
aliases = client.cat.aliases(format='json')
print(aliases)
alias_names = {alias['alias'] for alias in aliases}  # 用集合方便判断
print("所有别名:")
for item in alias_names:first_char = item[0]if first_char!='.':print(item)

 

二,修改别名指向的索引库

import os
from elasticsearch import Elasticsearchpwd = os.path.dirname(os.path.realpath(__file__))ELASTICSEARCH_HOST = 'http://localhost:9200'
client = Elasticsearch(ELASTICSEARCH_HOST, basic_auth=('elastic', '1234'))def get_alias_all_index(alias_name):response = client.cat.aliases(name=alias_name, h='index', format='json')# 解析响应,找出所有索引indices = []for item in response:indices.append(item['index'])print('当前别名指向的索引:')print(indices)return indices# 获取别名信息
alias_name = 'prod_alias_7'  # 替换为你的别名名称
new_index = "product_456"
indices = get_alias_all_index(alias_name)# 改名,让prod_alias_7指向product_456
actions = []
for old_index in indices:remove_act = {"remove": {"index": old_index, "alias": alias_name}}actions.append(remove_act)add_act = {"add": {"index": new_index, "alias": alias_name}}
actions.append(add_act)print('actions')
print(actions)
response = client.indices.update_aliases(actions=actions)# 改名完成后,查看当前别名指向的所有索引
indices = get_alias_all_index(alias_name)

 

三,判断别名alias是否存在?

import os
from elasticsearch import Elasticsearchpwd = os.path.dirname(os.path.realpath(__file__))ELASTICSEARCH_HOST = 'http://localhost:9200'
client = Elasticsearch(ELASTICSEARCH_HOST, basic_auth=('elastic', '1234'))# 判断alias_name是否存在
def is_exist_alias(alias_name):aliases = client.cat.aliases(format='json')# print(aliases)alias_list = []for item in aliases:first_char = item['alias'][0]if first_char != '.':print(item)alias_list.append(item['alias'])print(alias_list)# 判断是否存在于列表中if alias_name in alias_list:return Trueelse:return Falsealias_name = 'prod_alias_7'
is_alias = is_exist_alias(alias_name)
print(alias_name+"是否存在:"+str(is_alias))alias_name = 'prod_alias_a'
is_alias = is_exist_alias(alias_name)
print(alias_name+"是否存在:"+str(is_alias))

 

http://www.jsqmd.com/news/401379/

相关文章:

  • 2026年质量好的阻燃挤塑板/白色挤塑板实力工厂参考怎么选 - 行业平台推荐
  • Claude System Prompt 实战指南:如何设计高效可控的AI对话指令
  • 2026年评价高的叉车高压直流继电器/充电桩高压直流继电器哪家靠谱实力工厂参考 - 行业平台推荐
  • 2026年评价高的码垛机械手/吸盘助力机械手口碑排行精选供应商推荐 - 行业平台推荐
  • 2026年知名的活塞式制冷压缩机/工业制冷压缩机直销厂家采购指南如何选 - 品牌宣传支持者
  • 2026年评价高的航空航天机械加工/人型机器人机械加工销售厂家采购建议选哪家 - 行业平台推荐
  • 2026年知名的PVC泡棉/防静电泡棉实力厂家口碑参考口碑排行 - 品牌宣传支持者
  • 2026年比较好的进口品牌定制五金/全域定制五金用户口碑认可厂家 - 行业平台推荐
  • 2026年比较好的无油烟不粘锅/炒锅不粘锅哪家专业工厂直供推荐 - 行业平台推荐
  • 2026年靠谱的气动同步升降器/升降器制造厂家实力参考哪家专业 - 行业平台推荐
  • 3分钟搞定语雀文档迁移:告别格式错乱的Markdown转换实战指南
  • 4大维度优化Umi-OCR繁体识别:医疗文档处理从乱码到99%准确率实战指南
  • es: python: 列出elasticsearch中的索引库
  • 2026年知名的绞车/无极绳绞车压绳轮组实力厂家推荐如何选 - 行业平台推荐
  • AndroidStudio运行时虚拟机出现:Encryption unsuccessful...如何解决?
  • Spring Boot 实战:基于 AI 搭建高可用智能客服系统的架构设计与实现
  • 从选题到答辩:详解《基于uni-app的手账记录小程序》的设计思路与技术实现
  • 显卡优化与驱动配置指南:NVIDIA Profile Inspector全面应用教程
  • 2026年质量好的草坪割草机/遥控割草机实力厂家推荐如何选 - 品牌宣传支持者
  • 零门槛实现PDF双语翻译:BabelDOC高效部署与应用指南
  • 告别专业修图软件?浏览器里的AI修图革命
  • 掌控Mac性能与温度:Turbo Boost Switcher实用指南
  • 如何用Obsidian Projects实现极简高效的纯文本项目管理
  • 革新性开源工具:location-to-phone-number高效解决号码定位与隐私保护难题
  • 2026年热门的人造丝金丝绒/薄型金丝绒直销厂家推荐选哪家(更新) - 品牌宣传支持者
  • 2026年比较好的家电专用微动开关/晋煜微动开关哪家强品牌厂家推荐 - 品牌宣传支持者
  • 如何安全高效制作启动介质?开源镜像烧录工具全攻略
  • 突破式Windows安卓应用部署工具:APK Installer如何彻底改变传统安装体验
  • 解决音频视频唇同步难题:LatentSync如何通过Stable Diffusion实现高质量端到端唇部动画生成
  • 2026年比较好的Cr12钢材/钢材45#铣磨加工生产厂家采购指南帮我推荐几家 - 品牌宣传支持者