You are here

function elasticsearch_connector_cluster_indices_add in Elasticsearch Connector 7.5

Same name and namespace in other branches
  1. 7 elasticsearch_connector.admin.inc \elasticsearch_connector_cluster_indices_add()
  2. 7.2 elasticsearch_connector.admin.inc \elasticsearch_connector_cluster_indices_add()

Create new index in the cluster with shard settings and other settings.

Parameters

array $cluster:

Return value

array

1 string reference to 'elasticsearch_connector_cluster_indices_add'
elasticsearch_connector_menu in ./elasticsearch_connector.module
Implements hook_menu().

File

./elasticsearch_connector.admin.inc, line 449
Created on Dec 23, 2013

Code

function elasticsearch_connector_cluster_indices_add($form, &$form_state, $cluster, $index = NULL) {
  $form = array();
  $form['#cluster'] = $cluster;
  if (isset($index)) {
    $form['#index'] = $index;
    $client = elasticsearch_connector_load_library($cluster);
    $settings = array();
    try {
      $settings = $client
        ->indices()
        ->getSettings(array(
        'index' => $index,
      ));
      $settings = $settings[$index]['settings'];
    } catch (Exception $e) {
      watchdog('elasticsearch_connector', $e
        ->getMessage(), array(), WATCHDOG_WARNING);
    }
  }
  $form['index_name'] = array(
    '#type' => 'textfield',
    '#title' => t('Index name'),
    '#required' => TRUE,
    '#disabled' => isset($index),
    '#default_value' => isset($index) ? $index : '',
    '#description' => t('Enter the index name.'),
  );
  $form['num_of_shards'] = array(
    '#type' => 'textfield',
    '#title' => t('Number of shards'),
    '#required' => TRUE,
    '#disabled' => isset($index),
    '#default_value' => isset($settings['index']['number_of_shards']) ? $settings['index']['number_of_shards'] : '',
    '#description' => t('Enter the number of shards for the index.'),
  );
  $form['num_of_replica'] = array(
    '#type' => 'textfield',
    '#title' => t('Number of replica'),
    '#required' => TRUE,
    '#default_value' => isset($settings['index']['number_of_replicas']) ? $settings['index']['number_of_replicas'] : '',
    '#description' => t('Enter the number of shards replicas.'),
  );
  $form['actions'] = array(
    '#type' => 'actions',
  );
  $form['actions']['save'] = array(
    '#type' => 'submit',
    '#validate' => array(
      'elasticsearch_connector_cluster_indices_add_validate',
    ),
    '#submit' => array(
      'elasticsearch_connector_cluster_indices_add_submit',
    ),
    '#value' => isset($index) ? t('Update') : t('Save'),
  );
  return $form;
}