server/src/app/Http/Controllers/Api/GeoStatsController.php
changeset 320 0fce13da58af
parent 308 e032d686d88e
child 377 52169c718513
equal deleted inserted replaced
319:78990a8a069b 320:0fce13da58af
     5 use Illuminate\Http\Request;
     5 use Illuminate\Http\Request;
     6 
     6 
     7 use CorpusParole\Http\Requests;
     7 use CorpusParole\Http\Requests;
     8 use CorpusParole\Http\Controllers\Controller;
     8 use CorpusParole\Http\Controllers\Controller;
     9 use Es;
     9 use Es;
       
    10 use Log;
    10 
    11 
    11 class GeoStatsController extends Controller
    12 class GeoStatsController extends Controller
    12 {
    13 {
    13     /**
    14     /**
    14      * Display the specified resource.
    15      * Display the specified resource.
    15      *
    16      *
    16      * @return \Illuminate\Http\Response
    17      * @return \Illuminate\Http\Response
    17      */
    18      */
    18     public function index(Request $request)
    19     public function index(Request $request)
    19     {
    20     {
       
    21         $area = $request->input('area');
       
    22         $filter = [
       
    23             'match_all' => []
       
    24         ];
       
    25         if(!is_null($area) && $area !== config('corpusparole.geonames_earth_geonamesid')) {
       
    26             $filter = [
       
    27                 'term' => [
       
    28                     "geonames_hierarchy" => $area
       
    29                 ]
       
    30             ];
       
    31         }
    20         $query = [
    32         $query = [
    21             'index' => env('ELASTICSEARCH_INDEX'),
    33             'index' => env('ELASTICSEARCH_INDEX'),
    22             'body' => [
    34             'body' => [
    23                 "size" => 0,
    35                 "size" => 0,
       
    36                 "query" => $filter,
    24                 "aggs" => [
    37                 "aggs" => [
    25                     "geos" => [
    38                     "geos" => [
    26                         "terms" => [
    39                         "terms" => [
    27                             "size" => 0,
    40                             "size" => 0,
    28                             "field" => "geonames_hierarchy"
    41                             "field" => "geonames_hierarchy"