aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2012-04-30 22:14:02 +0200
committerChristian Weiske <cweiske@cweiske.de>2012-04-30 22:14:02 +0200
commitc78bab0c18fb9db18408f1601280997ee8b0779f (patch)
treec7b92ec3a04beddddf49c4af3ab3df32e1e77311 /scripts
parentd78df0d7b8025365c00c87f545c18a810eecbd5c (diff)
downloadphorkie-c78bab0c18fb9db18408f1601280997ee8b0779f.tar.gz
phorkie-c78bab0c18fb9db18408f1601280997ee8b0779f.zip
first index and search test
Diffstat (limited to 'scripts')
-rw-r--r--scripts/index.php109
-rw-r--r--scripts/search.php61
2 files changed, 170 insertions, 0 deletions
diff --git a/scripts/index.php b/scripts/index.php
new file mode 100644
index 0000000..9a93488
--- /dev/null
+++ b/scripts/index.php
@@ -0,0 +1,109 @@
+<?php
+//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__ . '/../data/config.default.php';
+if (file_exists(__DIR__ . '/../data/config.php')) {
+ require_once __DIR__ . '/../data/config.php';
+}
+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();
+
+
+
+//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();
+ }
+}
+?>
diff --git a/scripts/search.php b/scripts/search.php
new file mode 100644
index 0000000..b6273b4
--- /dev/null
+++ b/scripts/search.php
@@ -0,0 +1,61 @@
+<?php
+//search
+
+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__ . '/../data/config.default.php';
+if (file_exists(__DIR__ . '/../data/config.php')) {
+ require_once __DIR__ . '/../data/config.php';
+}
+if ($GLOBALS['phorkie']['cfg']['setupcheck']) {
+ SetupCheck::run();
+}
+
+//delete all repos
+$r = new \HTTP_Request2(
+ 'http://localhost:9200/phorkie/repo/_search',
+ \HTTP_Request2::METHOD_GET
+);
+$r->setBody(
+ json_encode(
+ (object)array(
+ 'query' => (object)array(
+ 'bool' => (object)array(
+ 'should' => array(
+ (object)array(
+ 'query_string' => (object)array(
+ 'query' => 'test'
+ ),
+ ),
+ (object)array(
+ 'has_child' => (object)array(
+ 'type' => 'file',
+ 'query' => (object)array(
+ 'query_string' => (object)array(
+ 'query' => 'test'
+ )
+ )
+ )
+ )
+ )
+ ),
+ )
+ )
+ )
+);
+$res = $r->send();
+echo $res->getBody() . "\n";
+?>