elasticsearch按天创建索引脚本
·
1、6X版本
生成的脚本执行 sh indexname_prod.sh
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.junit.Test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class IndexNameCurlProd {
@Test
public void curlindex() {
try {
String[] dayindexName = {"order_service_log"};
String fileDir = "C:\\Users\\Administrator\\Desktop\\es";
String fileName = "indexname_prod.sh";
File file = new File(fileDir + "/" + fileName);
if (!file.exists()) {
file.createNewFile();
}
FileWriter writer = new FileWriter(fileDir + "/" + fileName,true);
writer.write("#!/bin/bash");
writer.write("\r\n");
for (String indexName : dayindexName) {
for (int i = 0; i < 1; i++) {
//生产
writer.write("curl -XPUT http://127.0.0.1:9200/" + indexName + "_" + dayDate(i) + " -H 'Content-Type: application/json' -d '");
writer.write(JSON.toJSONString(curlindexfield(indexName),SerializerFeature.DisableCircularReferenceDetect));
writer.write("'\r\n");
}
}
writer.flush();
writer.close();
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}
private JSONObject curlindexfield(String indexName) {
JSONObject index = new JSONObject();
if (indexName.equals("ins_service_log")) {
index = ins_service_log();
} else if (indexName.equals("mg_send_log")) {
index = send_logproperties();
} else if (indexName.equals("boss_ins_service_detail_log")) {
index = boss_ins_service_detail_logperties();
} else if (indexName.equals("boss_ins_service_log")) {
index = boss_ins_service_logproperties();
} else if (indexName.equals("mg_agreement_kafka_message_new")) {
index = agreement_kafka_messageperties();
} else if (indexName.equals("mg_error_message")) {
index = mg_error_messageperties();
} else if (indexName.equals("mg_inner_kafka_message")) {
index = inner_kafkaperties();
} else if (indexName.equals("mg_out_kafka_message")) {
index = out_kafkaperties();
} else if (indexName.equals("order_service_log")) {
index = order_service_logperties();
}
return index;
}
private JSONObject ins_service_log() {
JSONObject index = new JSONObject();
JSONObject settings = new JSONObject();
//生产分片数
settings.put("number_of_shards", 20);
settings.put("number_of_replicas", 1);
index.put("settings", settings);
JSONObject mapping = new JSONObject();
JSONObject doc = new JSONObject();
// field
JSONObject properties = new JSONObject();
JSONObject typekeyword = new JSONObject();
JSONObject typetext = new JSONObject();
JSONObject typeshort = new JSONObject();
typekeyword.put("type", "keyword");
typetext.put("type", "text");
typeshort.put("type", "short");
properties.put("user_id", typekeyword);
properties.put("order_id", typekeyword);
properties.put("user_account", typekeyword);
properties.put("request_msg", typetext);
properties.put("response_msg", typetext);
properties.put("service_name", typekeyword);
properties.put("start_time", typekeyword);
properties.put("end_time", typekeyword);
properties.put("cost_time", typeshort);
properties.put("method_name", typekeyword);
properties.put("method_state", typekeyword);
properties.put("err_details", typetext);
properties.put("product_line", typekeyword);
properties.put("portal_type", typekeyword);
properties.put("platform", typekeyword);
properties.put("gmt_create", typekeyword);
properties.put("gmt_modified", typekeyword);
doc.put("properties", properties);
mapping.put("_doc", doc);
index.put("mappings", mapping);
return index;
}
/**
* 日 yyyyMMdd
*/
public static String dayDate(int i) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, i);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return sdf.format(calendar.getTime());
}
/**
* 年 YYYY
*/
public static String yearDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
return sdf.format(new Date());
}
@Test
public void dayDatetest() {
System.out.println(dayDate(1));
}
}
2、7X版本创建索引
package com.hjh.LogMonitorRepair;
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.junit.Test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class IndexNameCurlDev {
@Test
public void curlindex() {
try {
String[] dayindexName = {"order_service_log","boss_ins_service_log","boss_ins_service_detail_log","ins_service_log","mg_send_log","mg_error_message","mg_out_kafka_message","mg_agreement_kafka_message_new","mg_inner_kafka_message"};
String fileDir = "C:\\Users\\Administrator\\Desktop\\es";
String fileName = "indexname_dev.sh";
File file = new File(fileDir + "/" + fileName);
if (!file.exists()) {
file.createNewFile();
}
FileWriter writer = new FileWriter(fileDir + "/" + fileName,true);
writer.write("#!/bin/bash");
writer.write("\r\n");
for (String indexName : dayindexName) {
for (int i = 0; i < 1; i++) {
writer.write("curl -XPUT http://127.0.0.1:9200/" + indexName + "_" + dayDate(i) + " -H 'Content-Type: application/json' -d '");
writer.write(JSON.toJSONString(curlindexfield(indexName),SerializerFeature.DisableCircularReferenceDetect));
writer.write("'\r\n");
}
}
writer.flush();
writer.close();
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}
private JSONObject curlindexfield(String indexName) {
JSONObject index = new JSONObject();
if (indexName.equals("ins_service_log")) {
index = ins_service_log();
} else if (indexName.equals("mg_send_log")) {
index = send_logproperties();
} else if (indexName.equals("boss_ins_service_detail_log")) {
index = boss_ins_service_detail_logperties();
} else if (indexName.equals("boss_ins_service_log")) {
index = boss_ins_service_logproperties();
} else if (indexName.equals("mg_agreement_kafka_message_new")) {
index = agreement_kafka_messageperties();
} else if (indexName.equals("mg_error_message")) {
index = mg_error_messageperties();
} else if (indexName.equals("mg_inner_kafka_message")) {
index = inner_kafkaperties();
} else if (indexName.equals("mg_out_kafka_message")) {
index = out_kafkaperties();
} else if (indexName.equals("order_service_log")) {
index = order_service_logperties();
}
return index;
}
private JSONObject ins_service_log() {
JSONObject index = new JSONObject();
JSONObject settings = new JSONObject();
//联调分片数
settings.put("number_of_shards", 3);
settings.put("number_of_replicas", 1);
index.put("settings", settings);
JSONObject mapping = new JSONObject();
// field
JSONObject properties = new JSONObject();
JSONObject typekeyword = new JSONObject();
JSONObject typetext = new JSONObject();
JSONObject typeshort = new JSONObject();
typekeyword.put("type", "keyword");
typetext.put("type", "text");
typeshort.put("type", "short");
properties.put("user_id", typekeyword);
properties.put("order_id", typekeyword);
properties.put("user_account", typekeyword);
properties.put("request_msg", typetext);
properties.put("response_msg", typetext);
properties.put("service_name", typekeyword);
properties.put("start_time", typekeyword);
properties.put("end_time", typekeyword);
properties.put("cost_time", typeshort);
properties.put("method_name", typekeyword);
properties.put("method_state", typekeyword);
properties.put("err_details", typetext);
properties.put("product_line", typekeyword);
properties.put("portal_type", typekeyword);
properties.put("platform", typekeyword);
properties.put("gmt_create", typekeyword);
properties.put("gmt_modified", typekeyword);
mapping.put("properties", properties);
index.put("mappings", mapping);
return index;
}
/**
* 日 yyyyMMdd
*/
public static String dayDate(int i) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, i);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return sdf.format(calendar.getTime());
}
/**
* 年 YYYY
*/
public static String yearDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
return sdf.format(new Date());
}
@Test
public void dayDatetest() {
System.out.println(dayDate(1));
}
}
更多推荐
所有评论(0)