diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2016-02-03 06:21:30 +0100 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2016-02-03 06:21:30 +0100 |
| commit | 226508cd8d3e8c147ad314a0de483e08be71c254 (patch) | |
| tree | 4142696d28830efa13835be79fd3ee888a4ab0a4 /src/Elasticsearch.php | |
| parent | 7b4425b096fa8c18d0db9fd9b1ae96d63ee8af55 (diff) | |
| download | phinde-226508cd8d3e8c147ad314a0de483e08be71c254.tar.gz phinde-226508cd8d3e8c147ad314a0de483e08be71c254.zip | |
first frontend
Diffstat (limited to 'src/Elasticsearch.php')
| -rw-r--r-- | src/Elasticsearch.php | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/src/Elasticsearch.php b/src/Elasticsearch.php deleted file mode 100644 index b3f3067..0000000 --- a/src/Elasticsearch.php +++ /dev/null @@ -1,138 +0,0 @@ -<?php -namespace phinde; - -class Elasticsearch -{ - protected $baseUrl; - - public function __construct($baseUrl) - { - $this->baseUrl = $baseUrl; - } - - /** - * @link https://www.elastic.co/guide/en/elasticsearch/guide/current/_finding_exact_values.html - */ - public function isKnown($url) - { - $r = new Elasticsearch_Request( - $this->baseUrl . 'document/_search/exists', - \HTTP_Request2::METHOD_GET - ); - $r->allow404 = true; - $r->setBody( - json_encode( - array( - 'query' => array( - 'filtered' => array( - 'filter' => array( - 'term' => array( - 'url' => $url - ) - ) - ) - ) - ) - ) - ); - $res = json_decode($r->send()->getBody()); - return $res->exists; - } - - public function get($url) - { - $r = new Elasticsearch_Request( - $this->baseUrl . 'document/' . rawurlencode($url), - \HTTP_Request2::METHOD_GET - ); - $r->allow404 = true; - $res = $r->send(); - if ($res->getStatus() != 200) { - return null; - } - $d = json_decode($res->getBody()); - return $d->_source; - } - - public function markQueued($url) - { - $r = new Elasticsearch_Request( - $this->baseUrl . 'document/' . rawurlencode($url), - \HTTP_Request2::METHOD_PUT - ); - $doc = array( - 'status' => 'queued', - 'url' => $url - ); - $r->setBody(json_encode($doc)); - $r->send(); - } - - public function search($query, $page, $perPage) - { - $r = new Elasticsearch_Request( - $this->baseUrl . 'document/_search', - \HTTP_Request2::METHOD_GET - ); - $doc = array( - '_source' => array( - 'url', - 'title', - 'author', - 'modate', - ), - 'query' => array( - 'bool' => array( - 'must' => array( - array( - 'query_string' => array( - 'default_field' => '_all', - 'query' => $query - ) - ), - array( - 'term' => array( - 'status' => 'indexed' - ) - ) - ) - ) - ), - 'aggregations' => array( - 'tags' => array( - 'terms' => array( - 'field' => 'tags' - ) - ), - 'language' => array( - 'terms' => array( - 'field' => 'language' - ) - ), - 'domain' => array( - 'terms' => array( - 'field' => 'domain' - ) - ), - 'type' => array( - 'terms' => array( - 'field' => 'type' - ) - ) - ), - 'from' => $page * $perPage, - 'size' => $perPage, - 'sort' => array( - //array('modate' => array('order' => 'desc')) - ) - ); - //unset($doc['_source']); - - //ini_set('xdebug.var_display_max_depth', 10); - //return json_decode(json_encode($doc)); - $r->setBody(json_encode($doc)); - $res = $r->send(); - return json_decode($res->getBody()); - } -} -?> |
