//index repositories in elasticsearch
namespace phorkie;
-set_include_path(
- __DIR__ . '/../src/'
- . PATH_SEPARATOR . get_include_path()
-);
-spl_autoload_register(
- function ($class) {
- $file = str_replace(array('\\', '_'), '/', $class) . '.php';
- $hdl = @fopen($file, 'r', true);
- if ($hdl !== false) {
- fclose($hdl);
- require $file;
- }
- }
-);
+require_once __DIR__ . '/../src/phorkie/autoload.php';
require_once __DIR__ . '/../data/config.default.php';
if (file_exists(__DIR__ . '/../data/config.php')) {
require_once __DIR__ . '/../data/config.php';
$db = new Database();
-$idx = $db->getIndexer();
-//cleanup
-echo "Deleting all index data\n";
-$idx->deleteAllRepos();
+if ($db->prefix == '\phorkie\Database_Adapter_Null') {
+ echo "Error: No search adapter configured.\n";
+ exit(1);
+}
+
+$idx = $db->getIndexer();
//create mapping
-echo "Index setup\n";
-$db->getSetup()->setup();
+echo "Index reset\n";
+$db->getSetup()->reset();
$rs = new Repositories();
list($repos, $count) = $rs->getList(0, 10000);
-$idx = new Indexer_Elasticsearch();
foreach ($repos as $repo) {
echo 'Indexing ' . $repo->id . "\n";
- $idx->addRepo($repo, filectime($repo->gitDir));
+ $commits = $repo->getHistory();
+ $first = count($commits)-1;
+ $idx->addRepo($repo, $commits[$first]->committerTime, $commits[0]->committerTime);
}
?>