public async Task <IActionResult> Search(ISearchFunction searchFunction, HttpRequest request) { ISearchQuery query = OpenSearchHelpers.CreateSearchQuery(request.Query, searchFunction); ISearchTask searchTask = searchFunction.CreateSearch(query); if (searchTask is IResultSearchTask) { return(new ObjectResult(await((IResultSearchTask)searchTask).SearchResult())); } else { await searchTask.Search(); return(new OkResult()); } }