diff -r 52169c718513 -r 5b47eab083f3 server/src/app/Http/Controllers/Api/ThemeController.php --- 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 = [];