import com.nexr.platform.search.client.transport.NexRTransportClient; import org.elasticsearch.common.settings.ImmutableSettings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; import java.io.IOException; import static org.elasticsearch.common.settings.ImmutableSettings.settingsBuilder; /** * Created by IntelliJ IDEA. * User: david * Date: 10/13/11 * Time: 3:27 PM */ public class CreateIndexClient { // private final Router _router; private final NexRTransportClient _nodeClient; public CreateIndexClient(String clusterName, String serverList) { /*RouterFactory factory = RouterFactory.getInstance(); _router = factory.create(properties);*/ Settings finalSettings = settingsBuilder() .put("cluster.name", clusterName) .put("client", true) .put("stage.type", "local").build(); NexRTransportClient transportClient = NexRTransportClient.create(finalSettings); String[] lists = serverList.split(","); for(String list : lists) { String[] serverInfo = list.trim().split(":"); if(serverInfo.length == 2) transportClient.addTransportAddress(new InetSocketTransportAddress(serverInfo[0], Integer.parseInt(serverInfo[1]))); } _nodeClient = transportClient; } public void deleteAllIndex() { _nodeClient.admin().indices().prepareDelete("_all").execute().actionGet(); } public void createIndex(String indexName, Settings.Builder builder) { _nodeClient.admin().indices().prepareCreate(indexName).setSettings(builder).execute().actionGet(); _nodeClient.admin().cluster().prepareHealth(indexName).setWaitForGreenStatus().execute().actionGet(); } public static void main(String[] args) throws IOException { String clusterName = "equalize_test"; String serverList = "10.1.8.3:9300,10.1.8.4:9300,10.1.8.5:9300,10.1.8.6:9300,10.1.8.7:9300,10.1.8.8:9300"; String prefixIndexName = "test_"; int indexCount = 10; CreateIndexClient client = new CreateIndexClient(clusterName, serverList); client.deleteAllIndex(); for (int i = 0 ; i < indexCount; i++) { client.createIndex((prefixIndexName + i), ImmutableSettings.settingsBuilder()); } } }