git.cweiske.de
/
phinde.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support multiple hub links for WebSub
[phinde.git]
/
src
/
phinde
/
Elasticsearch.php
diff --git
a/src/phinde/Elasticsearch.php
b/src/phinde/Elasticsearch.php
index 069cf1fefd74b495ea3a7aa6b4d11da8bf242a45..fd60f95a53ebfe8051825ba941b502c028c285c1 100644
(file)
--- a/
src/phinde/Elasticsearch.php
+++ b/
src/phinde/Elasticsearch.php
@@
-58,14
+58,18
@@
class Elasticsearch
$r->send();
}
$r->send();
}
- public function
countDocument
s()
+ public function
getIndexStatu
s()
{
$r = new Elasticsearch_Request(
{
$r = new Elasticsearch_Request(
- $this->baseUrl . '
document/_count
',
+ $this->baseUrl . '
_stats/docs,store
',
\HTTP_Request2::METHOD_GET
);
$res = $r->send();
\HTTP_Request2::METHOD_GET
);
$res = $r->send();
- return json_decode($res->getBody())->count;
+ $data = json_decode($res->getBody());
+ return array(
+ 'documents' => $data->_all->total->docs->count,
+ 'size' => $data->_all->total->store->size_in_bytes,
+ );
}
public function search($query, $filters, $site, $page, $perPage, $sort)
}
public function search($query, $filters, $site, $page, $perPage, $sort)
@@
-88,7
+92,7
@@
class Elasticsearch
$query = trim(str_replace($matches[0], '', $query));
$qMust[] = array(
'range' => array(
$query = trim(str_replace($matches[0], '', $query));
$qMust[] = array(
'range' => array(
- 'modate' => array(
+ '
status.
modate' => array(
'gt' => $dateAfter . '||/d',
)
)
'gt' => $dateAfter . '||/d',
)
)
@@
-99,7
+103,7
@@
class Elasticsearch
$query = trim(str_replace($matches[0], '', $query));
$qMust[] = array(
'range' => array(
$query = trim(str_replace($matches[0], '', $query));
$qMust[] = array(
'range' => array(
- 'modate' => array(
+ '
status.
modate' => array(
'lt' => $dateBefore . '||/d',
)
)
'lt' => $dateBefore . '||/d',
)
)
@@
-110,7
+114,7
@@
class Elasticsearch
$query = trim(str_replace($matches[0], '', $query));
$qMust[] = array(
'range' => array(
$query = trim(str_replace($matches[0], '', $query));
$qMust[] = array(
'range' => array(
- 'modate' => array(
+ '
status.
modate' => array(
'gte' => $dateExact . '||/d',
'lte' => $dateExact . '||/d',
)
'gte' => $dateExact . '||/d',
'lte' => $dateExact . '||/d',
)
@@
-118,6
+122,11
@@
class Elasticsearch
);
}
);
}
+ if (strpos($query, '/') !== false && strpos($query, '"') === false) {
+ //add quotes when there is a slash and no quotes
+ // https://stackoverflow.com/questions/31963643/escaping-forward-slashes-in-elasticsearch
+ $query = '"' . $query . '"';
+ }
$qMust[] = array(
'query_string' => array(
'default_field' => '_all',
$qMust[] = array(
'query_string' => array(
'default_field' => '_all',
@@
-131,6
+140,9
@@
class Elasticsearch
)
);
)
);
+ if ($sort == '' && $GLOBALS['phinde']['defaultSort'] == 'date') {
+ $sort = 'date';
+ }
if ($sort == 'date') {
$sortCfg = array('status.modate' => array('order' => 'desc'));
} else {
if ($sort == 'date') {
$sortCfg = array('status.modate' => array('order' => 'desc'));
} else {