aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst8
-rw-r--r--src/phorkie/Database/Adapter/Elasticsearch/HTTPRequest.php2
-rw-r--r--src/phorkie/Database/Adapter/Elasticsearch/Setup.php66
3 files changed, 41 insertions, 35 deletions
diff --git a/README.rst b/README.rst
index 6916a35..53293cb 100644
--- a/README.rst
+++ b/README.rst
@@ -155,9 +155,15 @@ phorkie makes use of an Elasticsearch__ installation, if you have one.
It is used to provide search capabilities and the list of recent pastes.
-Elasticsearch version 1.3 is supported.
+Elasticsearch version 2.0 is supported.
+
+You have to install the `delete-by-query`__ plugin::
+
+ $ cd /usr/share/elasticsearch
+ $ bin/plugin install delete-by-query
__ http://www.elasticsearch.org/
+__ https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/plugins-delete-by-query.html
Setup
diff --git a/src/phorkie/Database/Adapter/Elasticsearch/HTTPRequest.php b/src/phorkie/Database/Adapter/Elasticsearch/HTTPRequest.php
index 24487bc..7c76af2 100644
--- a/src/phorkie/Database/Adapter/Elasticsearch/HTTPRequest.php
+++ b/src/phorkie/Database/Adapter/Elasticsearch/HTTPRequest.php
@@ -18,7 +18,7 @@ class Database_Adapter_Elasticsearch_HTTPRequest extends \HTTP_Request2
}
$js = json_decode($res->getBody());
if (isset($js->error)) {
- $error = $js->error;
+ $error = json_encode($js->error);
} else {
$error = $res->getBody();
}
diff --git a/src/phorkie/Database/Adapter/Elasticsearch/Setup.php b/src/phorkie/Database/Adapter/Elasticsearch/Setup.php
index bb76d54..1e632ba 100644
--- a/src/phorkie/Database/Adapter/Elasticsearch/Setup.php
+++ b/src/phorkie/Database/Adapter/Elasticsearch/Setup.php
@@ -33,6 +33,38 @@ class Database_Adapter_Elasticsearch_Setup implements Database_ISetup
);
$r->send();
+ //mapping for files
+ $r = new Database_Adapter_Elasticsearch_HTTPRequest(
+ $this->searchInstance . 'file/_mapping',
+ \HTTP_Request2::METHOD_PUT
+ );
+ $r->setBody(
+ json_encode(
+ (object)array(
+ 'file' => (object)array(
+ '_parent' => (object)array(
+ 'type' => 'repo'
+ ),
+ 'properties' => (object)array(
+ 'name' => (object)array(
+ 'type' => 'string',
+ 'boost' => 1.5
+ ),
+ 'extension' => (object)array(
+ 'type' => 'string',
+ 'boost' => 1.0
+ ),
+ 'content' => (object)array(
+ 'type' => 'string',
+ 'boost' => 0.8
+ )
+ )
+ )
+ )
+ )
+ );
+ $r->send();
+
//create mapping
//mapping for repositories
$r = new Database_Adapter_Elasticsearch_HTTPRequest(
@@ -45,7 +77,7 @@ class Database_Adapter_Elasticsearch_Setup implements Database_ISetup
'repo' => (object)array(
'_timestamp' => (object)array(
'enabled' => true,
- 'path' => 'tstamp',
+ //'path' => 'tstamp',
),
'properties' => (object)array(
'id' => (object)array(
@@ -73,38 +105,6 @@ class Database_Adapter_Elasticsearch_Setup implements Database_ISetup
)
);
$r->send();
-
- //mapping for files
- $r = new Database_Adapter_Elasticsearch_HTTPRequest(
- $this->searchInstance . 'file/_mapping',
- \HTTP_Request2::METHOD_PUT
- );
- $r->setBody(
- json_encode(
- (object)array(
- 'file' => (object)array(
- '_parent' => (object)array(
- 'type' => 'repo'
- ),
- 'properties' => (object)array(
- 'name' => (object)array(
- 'type' => 'string',
- 'boost' => 1.5
- ),
- 'extension' => (object)array(
- 'type' => 'string',
- 'boost' => 1.0
- ),
- 'content' => (object)array(
- 'type' => 'string',
- 'boost' => 0.8
- )
- )
- )
- )
- )
- );
- $r->send();
}
}