--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/app/Http/Controllers/Api/GeoStatsController.php Sun Oct 02 11:49:00 2016 +0200
@@ -0,0 +1,44 @@
+<?php
+
+namespace CorpusParole\Http\Controllers\Api;
+
+use Illuminate\Http\Request;
+
+use CorpusParole\Http\Requests;
+use CorpusParole\Http\Controllers\Controller;
+use Es;
+
+class GeoStatsController extends Controller
+{
+ /**
+ * Display the specified resource.
+ *
+ * @return \Illuminate\Http\Response
+ */
+ public function index(Request $request)
+ {
+ $query = [
+ 'index' => env('ELASTICSEARCH_INDEX'),
+ 'body' => [
+ "size" => 0,
+ "aggs" => [
+ "geos" => [
+ "terms" => [
+ "size" => 0,
+ "field" => "geonames_hierarchy"
+ ]
+ ]
+ ]
+ ]
+ ];
+ $esRes = Es::search($query);
+
+ $geosats = [];
+
+ foreach($esRes['aggregations']['geos']['buckets'] as $bucket) {
+ $geosats[(string)($bucket['key'])] = $bucket['doc_count'];
+ }
+
+ return response()->json(['geostats' => $geosats ]);
+ }
+}