public ActionResult ExecuteQuery(string query, string driverName) { IntermediateQuery queryObj; try { queryObj = _queryParser.ParseQuery(query); List <QueryResult> results = _driverManager.ExecuteQuery(queryObj, driverName); return(PartialView("QueryResultPartial", results)); } catch (InvalidQuerySyntaxException e) { return(PartialView("FailedQueryErrorMessage", $"Syntax error: {e.UnnesessarySyntax}")); } catch (UnknownDriverException e) { return(PartialView("FailedQueryErrorMessage", $"Unknown driver: {e.DriverName}")); } catch (EmptyQueryException e) { return(PartialView("FailedQueryErrorMessage", $"{e.Message}")); } catch (Exception e) { return(PartialView("FailedQueryErrorMessage", $"Failed to execute query: {e.Message}")); } }
public async Task <IActionResult> InitializeUploadAsync([FromBody] SearchRequest request, CancellationToken cancellationToken) { var query = _queryParser.ParseQuery(request); if (query == null) { return(BadRequest("Invalid query")); } var response = await _mediator.Send(query, cancellationToken); return(Ok(response)); }
public IEnumerable <string> Search(string query) { var parsedQuery = queryParser.ParseQuery(query); var paths = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase); foreach (var documentId in parsedQuery.Execute(fullTextIndex)) { if (pathIndex.TryGetByFirst(documentId, out var filePath)) { paths.Add(filePath); } } return(paths); }
public IQuery ParseQuery(string query) { var parsedQuery = queryParser.ParseQuery(query); return(queryVisitors.Aggregate(parsedQuery, (x, y) => x.Accept(y))); }