equal
deleted
inserted
replaced
5 use Illuminate\Http\Request; |
5 use Illuminate\Http\Request; |
6 use Log; |
6 use Log; |
7 use Es; |
7 use Es; |
8 |
8 |
9 use CorpusParole\Http\Controllers\Controller; |
9 use CorpusParole\Http\Controllers\Controller; |
|
10 use CorpusParole\Libraries\Filters\CorpusFilterManager; |
10 |
11 |
11 |
12 |
12 class DateStatsController extends Controller |
13 class DateStatsController extends Controller |
13 { |
14 { |
14 /** |
15 /** |
17 * @return \Illuminate\Http\Response |
18 * @return \Illuminate\Http\Response |
18 */ |
19 */ |
19 public function index(Request $request) |
20 public function index(Request $request) |
20 { |
21 { |
21 |
22 |
22 $query = [ "match_all" => []]; |
23 |
|
24 $filterManager = new CorpusFilterManager(); |
|
25 $filters = $filterManager->prepareFilters($request); |
|
26 unset($filters['dates']); |
|
27 $qFilterParts = $filterManager->buildESFilters($filters); |
|
28 |
|
29 $query = $filterManager->buildQuery($qFilterParts); |
23 |
30 |
24 $esQuery = [ |
31 $esQuery = [ |
25 'index' => env('ELASTICSEARCH_INDEX'), |
32 'index' => env('ELASTICSEARCH_INDEX'), |
26 'body' => [ |
33 'body' => [ |
27 "size" => 0, |
34 "size" => 0, |
56 $esRes = Es::search($esQuery); |
63 $esRes = Es::search($esQuery); |
57 |
64 |
58 $datestats = []; |
65 $datestats = []; |
59 |
66 |
60 foreach($esRes['aggregations']['datestats']['years']['buckets'] as $bucket) { |
67 foreach($esRes['aggregations']['datestats']['years']['buckets'] as $bucket) { |
61 $datestats[(string)($bucket['key'])] = round($bucket['year_count']['value']); |
68 $c = round($bucket['year_count']['value']); |
|
69 if($c > 0) { |
|
70 $datestats[(string)($bucket['key'])] = $c; |
|
71 } |
62 } |
72 } |
63 |
73 |
64 return response()->json(['datestats' => $datestats ]); |
74 return response()->json(['datestats' => $datestats ]); |
65 } |
75 } |
66 |
76 |