--- a/server/src/app/Http/Controllers/Api/ThemeController.php Thu Oct 20 17:27:36 2016 +0200
+++ b/server/src/app/Http/Controllers/Api/ThemeController.php Thu Oct 20 19:14:37 2016 +0200
@@ -2,8 +2,6 @@
namespace CorpusParole\Http\Controllers\Api;
-// use Illuminate\Http\Request;
-// use CorpusParole\Http\Requests;
use CorpusParole\Http\Controllers\Controller;
use Illuminate\Http\Request;
@@ -15,6 +13,7 @@
use CorpusParole\Services\LexvoResolverInterface;
use CorpusParole\Services\BnfResolverInterface;
+use CorpusParole\Libraries\Filters\CorpusFilterManager;
class ThemeController extends Controller
@@ -72,10 +71,18 @@
$order_dir = "desc";
}
- $query = [
+ $filterManager = new CorpusFilterManager();
+ $filters = $filterManager->prepareFilters($request);
+ unset($filters['themes']);
+ $qFilterParts = $filterManager->buildESFilters($filters);
+ $query = $filterManager->buildQuery($qFilterParts);
+
+
+ $esQuery = [
'index' => env('ELASTICSEARCH_INDEX'),
'body' => [
'size' => 0,
+ 'query' => $query,
'aggs' => [
"subjects" => [
"nested" => [ "path" => "subject" ],
@@ -94,10 +101,10 @@
];
if($include) {
- $query['body']['aggs']['subjects']['aggs']['subjects']['terms']['include'] = $include;
+ $esQuery['body']['aggs']['subjects']['aggs']['subjects']['terms']['include'] = $include;
}
- $esRes = Es::search($query);
+ $esRes = Es::search($esQuery);
$themes = [];