/** * method to create a solr core with additional checks * @param array &$cfg * @return boolean */ function createSolrCore(&$cfg, $coreName, $paramPrefix = 'core_') { //verify if solr core exist $solrHost = $cfg['solr_host']; $solrPort = $cfg['solr_port']; $createCore = true; $askReindex = true; $fullCoreName = $cfg['prefix'] . '_' . $coreName; $status = json_decode(file_get_contents('http://' . $solrHost . ':' . $solrPort . '/solr/admin/cores?action=STATUS&wt=json'), true); if (isset($status['status']) && isset($status['status'][$fullCoreName]) && !\CB\Cache::get('RUN_SETUP_INTERACTIVE_MODE')) { return true; } $solr = \CB\Solr\Service::verifyConfigConnection(array('host' => $solrHost, 'port' => $solrPort, 'core' => $fullCoreName, 'SOLR_CLIENT' => $cfg['SOLR_CLIENT'])); if ($solr !== false) { if (confirm($paramPrefix . 'solr_overwrite', 'n')) { echo 'Unloading core ' . $coreName . '... '; unset($solr); if (solrUnloadCore($solrHost, $solrPort, $fullCoreName)) { showMessage(); } else { displayError("Error unloading core.\n"); $createCore = false; } } else { $createCore = false; } } if ($createCore) { echo 'Creating solr core ... '; if (solrCreateCore($solrHost, $solrPort, $fullCoreName, $cfg)) { showMessage(); } else { displayError("Error creating core.\n"); $askReindex = false; } } if ($askReindex && $paramPrefix !== 'log_') { if (confirm($paramPrefix . 'solr_reindex', 'n')) { echo 'Reindexing core ... '; $options['c'] = $coreName; $options['a'] = true; $options['l'] = true; require_once \CB\BIN_DIR . 'solr_reindex_core.php'; //$cmd_reindex_core = 'php '.\CB\BIN_DIR.'solr_reindex_core.php -c '.$coreName.' -a -l'; //$reindex_result = shell_exec($cmd_reindex_core); // here need to verify result of execution solr_reindex_core.php showMessage(); } } }
/** * method to create a solr core with additional checks * @param array &$cfg * @return boolean */ function createSolrCore(&$cfg, $coreName, $paramPrefix = 'core_') { //verify if solr core exist $solrHost = $cfg['solr_host']; $solrPort = $cfg['solr_port']; $createCore = true; $askReindex = true; $fullCoreName = $cfg['prefix'] . '_' . $coreName; $solr = \CB\Solr\Service::verifyConfigConnection(array('host' => $solrHost, 'port' => $solrPort, 'core' => $fullCoreName, 'SOLR_CLIENT' => $cfg['SOLR_CLIENT'])); if ($solr !== false) { if (confirm($paramPrefix . 'solr_overwrite', 'n')) { echo 'Unloading core ' . $coreName . '... '; unset($solr); if (solrUnloadCore($solrHost, $solrPort, $fullCoreName)) { showMessage(); } else { displayError("Error unloading core.\n"); $createCore = false; } } else { $createCore = false; } } if ($createCore) { echo 'Creating solr core ... '; if (solrCreateCore($solrHost, $solrPort, $fullCoreName, $cfg)) { showMessage(); } else { displayError("Error creating core.\n"); $askReindex = false; } } if ($askReindex && $paramPrefix !== 'log_') { if (confirm($paramPrefix . 'solr_reindex', 'n')) { echo 'Reindexing core ... '; $cmd_reindex_core = 'php ' . \CB\BIN_DIR . 'solr_reindex_core.php -c ' . $coreName . ' -a -l'; $reindex_result = shell_exec($cmd_reindex_core); // here need to verify result of execution solr_reindex_core.php showMessage(); } } }