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));
	}
}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐