make all stats view use elasticsearch. Make sure that the document discourse types are taken form the predefined list
<?php
namespace CorpusParole\Http\Controllers\Api;
use Illuminate\Http\Request;
use CorpusParole\Http\Controllers\Controller;
use Es;
class LanguageController extends Controller
{
/**
* Display the specified resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$query = [ "match_all" => []];
$esQuery = [
'index' => env('ELASTICSEARCH_INDEX'),
'body' => [
"size" => 0,
"query" => $query,
"aggs" => [
"languages" => [
"terms" => [ "field" => "language", "order" => [ "_count" => "desc" ], "size" => 0 ]
]
]
]
];
$esRes = Es::search($esQuery);
$languages = [];
foreach ($esRes['aggregations']['languages']['buckets'] as $b) {
$languages[$b['key']] = $b['doc_count'];
}
return response()->json(['languages' => $languages ]);
}
}