X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/c78bab0c18fb9db18408f1601280997ee8b0779f..46bdb6ae85c07babfee3eca688a7ac0211a69cab:/scripts/index.php diff --git a/scripts/index.php b/scripts/index.php index 9a93488..1f7a7ac 100644 --- a/scripts/index.php +++ b/scripts/index.php @@ -2,20 +2,7 @@ //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'; @@ -24,86 +11,21 @@ if ($GLOBALS['phorkie']['cfg']['setupcheck']) { SetupCheck::run(); } -//delete all repos -$r = new \HTTP_Request2( - 'http://localhost:9200/phorkie/repo/_query', - \HTTP_Request2::METHOD_DELETE -); -$r->setBody( - json_encode( - (object)array( - 'match_all' => (object)array() - ) - ) -); -$r->send(); -$r = new \HTTP_Request2( - 'http://localhost:9200/phorkie/file/_query', - \HTTP_Request2::METHOD_DELETE -); -$r->setBody( - json_encode( - (object)array( - 'match_all' => (object)array() - ) - ) -); -$r->send(); -//create mapping -$r = new \HTTP_Request2( - 'http://localhost:9200/phorkie/file/_mapping', - \HTTP_Request2::METHOD_PUT -); -$r->setBody( - json_encode( - (object)array( - 'file' => (object)array( - '_parent' => (object)array( - 'type' => 'repo' - ) - ) - ) - ) -); -$r->send(); +$db = new Database(); +$idx = $db->getIndexer(); +//create mapping +echo "Index reset\n"; +$db->getSetup()->reset(); -//FIXME: define schema $rs = new Repositories(); -foreach ($rs->getList(0, 10000) as $repo) { - $r = new \HTTP_Request2( - //FIXME: make configurable - 'http://localhost:9200/phorkie/repo/' . $repo->id, - \HTTP_Request2::METHOD_PUT - ); - $r->setBody( - json_encode( - (object)array( - 'id' => $repo->id, - 'description' => $repo->getDescription(), - ) - ) - ); - $res = $r->send(); - - foreach ($repo->getFiles() as $file) { - $r = new \HTTP_Request2( - //FIXME: make configurable - 'http://localhost:9200/phorkie/file/?parent=' . $repo->id, - \HTTP_Request2::METHOD_POST - ); - $r->setBody( - json_encode( - (object)array( - 'name' => $file->getFilename(), - 'extension' => $file->getExt(), - 'content' => $file->isText() ? $file->getContent() : '', - ) - ) - ); - $r->send(); - } +list($repos, $count) = $rs->getList(0, 10000); +foreach ($repos as $repo) { + echo 'Indexing ' . $repo->id . "\n"; + $commits = $repo->getHistory(); + $first = count($commits)-1; + $idx->addRepo($repo, $commits[$first]->committerTime, $commits[0]->committerTime); } ?>