Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 381 → Rev 382

/trunk/scripts/modules/algolia/Algolia.php
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;
}
}
?>