49,6 → 49,19 |
$this->algolia = new \AlgoliaSearch\Client(Config::get('algolia_application_id'), Config::get('algolia_api_key')); |
$this->indexAlgolia = $this->algolia->initIndex(Config::get('algolia_index')); |
|
/*$settings = $this->indexAlgolia->getSettings(); |
var_dump(json_encode($settings)); |
exit;*/ |
|
// Réglages de l'index @TODO tenir à jour |
if ($this->confirmer("Charger les réglages par défaut (index_settings.json) dans la configuration de l'index Algolia ?")) { |
// Chargement des réglages par défaut |
$reglagesJson = file_get_contents(dirname(__FILE__) . '/index_settings.json'); |
$reglages = json_decode($reglagesJson, true); |
$this->indexAlgolia->setSettings($reglages); |
echo "Réglages chargés dans Algolia" . PHP_EOL; |
} |
|
// Connexion à la base |
$this->connecterPDO(); |
|
91,7 → 104,9 |
} |
|
// Confirmation |
//$this->confirmer("Fusion des référentiels [" . implode(',', $refs) . "] et mise à jour de [" . implode(',', $refsMaj) . "]. Continuer ?"); |
if (! $this->confirmer("Fusion des référentiels [" . implode(',', $refs) . "] et mise à jour de [" . implode(',', $refsMaj) . "]. Continuer ?")) { |
exit; |
} |
|
//var_dump($refs); |
$donneesBrutes = array(); |
119,7 → 134,7 |
|
// Mise en forme |
$index = $this->mettreEnForme($index); |
$this->extrait($index, 3); |
//$this->extrait($index, 3); |
|
// Stats |
$taille = count($index); |
215,7 → 230,7 |
$url = $taxon[$ref . '_url']; |
$synonymes = json_decode($taxon[$ref . '_synonymes'], true); |
$raccourcis = json_decode($taxon[$ref . '_shortcuts'], true); |
$raccourcis = array_values(array_unique($raccourcis)); // array_values réindexe pour obtenir une liste en JSON et non un objet |
$raccourcis = ($raccourcis != null ? array_values(array_unique($raccourcis)) : null); // array_values réindexe pour obtenir une liste en JSON et non un objet |
// garniture |
$donneesRef = array( |
'nomenclatural_number' => intval($nn), |
245,8 → 260,9 |
} |
|
protected function insererDansAlgolia($index) { |
echo "++++ Insertion dans Algolia !! ++++" . PHP_EOL; |
$tranche = array_slice($index, 0, 500); |
$tailleTranche = 30000; |
echo "++++ Insertion dans Algolia ($tailleTranche) !! ++++" . PHP_EOL; |
$tranche = array_slice($index, 0, $tailleTranche); |
//var_dump($tranche); |
//$trancheJSON = json_encode($tranche); |
$this->indexAlgolia->addObjects($tranche); |
309,9 → 325,10 |
$line = fgets($handle); |
if(strtolower(trim($line)) != strtolower($codeAcceptation)) { |
echo $messageAnnulation . PHP_EOL; |
exit; |
return false; |
} |
fclose($handle); |
return true; |
} |
} |
?> |