public async Task <IActionResult> Content(
            string indexName,
            string query,
            string parameters)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.QueryLuceneApi))
            {
                return(Unauthorized());
            }

            var luceneQuery = new LuceneQuery
            {
                Index              = indexName,
                Template           = query,
                ReturnContentItems = true
            };

            var queryParameters = parameters != null?
                                  JsonConvert.DeserializeObject <Dictionary <string, object> >(parameters)
                                      : new Dictionary <string, object>();

            var result = await _luceneQuerySource.ExecuteQueryAsync(luceneQuery, queryParameters);

            return(new ObjectResult(result));
        }
        private Task <Queries.IQueryResults> LuceneQueryApiAsync(LuceneQueryModel queryModel, bool returnContentItems = false)
        {
            var luceneQuery = new LuceneQuery
            {
                Index              = queryModel.IndexName,
                Template           = queryModel.Query,
                ReturnContentItems = returnContentItems
            };

            var queryParameters = queryModel.Parameters != null?
                                  JsonConvert.DeserializeObject <Dictionary <string, object> >(queryModel.Parameters)
                                      : new Dictionary <string, object>();

            var result = _luceneQuerySource.ExecuteQueryAsync(luceneQuery, queryParameters);

            return(result);
        }