elasticsearch 索引创建脚本
elasticsearch 索引创建脚本
- py代码
- 索引库结构
- 文件目录
注意 py 代码要和 mapping 目录在同一级,mapping 目录下存放索引库的 json 文件,文件名为index_name.json
py代码
import requests
import json
import osmapping_folder = "./mapping"
headers = {"Content-Type":"application/json","Accept":"application/json"}
is_append = True## 新集群host
newClusterHost = ""
## 新集群用户名,可为空
newClusterUser = ""
## 新集群密码,可为空
newClusterPassword = ""def syn_index(index_name, data):# 索引存在则放弃同步if exist_index(index_name):returnprint("syn_index-start:{}".format(index_name))syn_index_res = requests.put("http://" + newClusterHost + ":9200/" + index_name,auth=(newClusterUser, newClusterPassword),headers={"content-type": "application/json"},data=data)if syn_index_res.status_code != 200:print("syn_index-err:{}".format(syn_index_res.text))else:print("syn_index-success:{}".format(index_name))def exist_index(index_name):exist_index_res = requests.get("http://" + newClusterHost + ":9200/" + index_name, auth=(newClusterUser, newClusterPassword))return exist_index_res.status_code == 200def select_mapping():print("\r\n>> select_mapping running \r\n")mapping_list = os.listdir(mapping_folder)# 存放 key: index_name value:mappingmapping_dic = {}for file_name in mapping_list:file_path = "{}/{}".format(mapping_folder, file_name)with open(file_path, encoding='utf-8') as f:if f:mapping = json.loads(f.read().strip())data = json.dumps(mapping, indent=4, sort_keys=True)mapping_dic[file_name.split('.')[0]] = datareturn mapping_dicdef main():# 获取 mappings 字典 key 为 index_namemapping = select_mapping()# 创建索引库for k, v in mapping.items():syn_index(index_name=k, data=v)print("Done for syn indies")if __name__ == "__main__":main()
索引库结构
{ "aliases" : {"user_at_index : { }},"settings" : {"index" : {"number_of_shards" : 3,"number_of_replicas" : 0}},"mappings" : {"_meta": {"software_version_mapping": "1.0","description": "作品艾特信息表"},"properties" : {"at_time" : {"type" : "keyword"},"at_time_long" : {"type" : "long"},"at_user_id" : {"type" : "long"},"be_at_user_id" : {"type" : "long"},"del_flag" : {"type" : "byte"},"id" : {"type" : "long"},"update_time" : {"type" : "keyword"}}}
}
文件目录
elasticsearch 索引创建脚本相关推荐
- ElasticSearch 索引创建
准备工作 在开始创建索引之前,您需要安装Elasticsearch并启动Elasticsearch服务器.您还需要使用一个REST客户端,例如Kibana或Postman,以便与Elasticsear ...
- ElasticSearch教程——创建索引、类型、文档
ElasticSearch汇总请查看:ElasticSearch教程--汇总篇 介绍 索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库.事实上,我们的数据被存储和索 ...
- ES篇:ElasticSearch教程——创建索引、类型、文档
ES知识汇总:https://blog.csdn.net/gwd1154978352/article/details/82781731 介绍 索引是ElasticSearch存放数据的地方,可以理解为 ...
- elasticsearch手动创建和删除索引
elasticsearch手动创建和删除索引 在ElasticSearch没有索引的情况下,插入文档,默认会自动创建索引和索引映射,从而无法使用ik分词器.因此需要手动创建索引,取消默认创建机制. / ...
- es为mysql创建索引_ES(ElasticSearch) 索引创建
环境:ES 6.2.2 os:Centos 7 kibana:6.2.2 介绍 索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库.事实上,我们的数据被存储和索引在 ...
- 批量导出创建索引的脚本
有同事要导出一个数据库用户下创建索引的脚本,然后拿到另外一个库里面去执行.很少有这样的需求,问了一下,他们要进行数据迁移,在新的库中要求索引单独放在一个表空间里面,于是就把所有的索引都删除了,进行重建 ...
- 【Elasticsearch】es 源码分析 索引创建
文章目录 1.概述 1.1 索引创建 1.2 RestIndexAction 1.3 RestCreateIndexAction 1.概述 1.1 索引创建 curl - XPOST 'http:// ...
- 如何使用Elasticsearch groovy script脚本更新数据
2019独角兽企业重金招聘Python工程师标准>>> 如何使用Elasticsearch groovy script脚本更新数据 博客分类: 搜索引擎,爬虫 今天细说一下elast ...
- ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询
这篇文章涵盖了如何使用ElasticSearch-Hadoop从Hadoop系统读取数据并在ElasticSearch中对其进行索引. 它涵盖的功能是在最近n天中为每个客户的产品浏览量计数和热门搜索查 ...
最新文章
- sublime编辑器中文乱码的问题
- MapReduce TopK统计加排序
- Android Loader 异步加载详解一:基础概念
- mysql筛选两个表有相同项的数据库_用SQL查询两个表中相同的数据
- Java50道经典习题-程序18 乒乓球赛
- 基础 | 这波编程基础绝了!快来学习!
- jieba库统计出现词语次数
- 59. 预定义超全局变量
- 打造基于hadoop的网站日志分析系统(5)之spark在日志分析系统里的简单应用
- linux上php环境安装(包含svn的使用、php扩展安装)
- 批处理for循环命令初步学习
- 跑马灯的一些使用心得
- ThreadPoolExecutor源码学习以及观雄哥大佬博客有感
- listlength函数头文件_length函数
- bin文件夹关于dll引用的注意事项
- 形式化方法:Linear Arithmetic
- 一位码农的憧憬与迷茫
- 短视频app源码开发,短视频录制的实现
- MacPro系统重装操作步骤(U盘重装)
- macOS配置MAVEN环境变量执行source .bash_profile报错.bash_profile: not valid in this context: /xxx/xxx