public SearchResult<Workflow> searchV2(
            String query, String freeText, int start, int size, List<String> sortOptions) {

        SearchResult<String> result =
                executionDAOFacade.searchWorkflows(query, freeText, start, size, sortOptions);
        List<Workflow> workflows =
                result.getResults().stream()
                        .parallel()
                        .map(
                                workflowId -> {
                                    try {
                                        return executionDAOFacade.getWorkflow(workflowId, false);
                                    } catch (Exception e) {
                                        LOGGER.error(
                                                "Error fetching workflow by id: {}", workflowId, e);
                                        return null;
                                    }
                                })
                        .filter(Objects::nonNull)
                        .collect(Collectors.toList());
        int missing = result.getResults().size() - workflows.size();
        long totalHits = result.getTotalHits() - missing;
        return new SearchResult<>(totalHits, workflows);
    }
This method removes the task from the un-acked Queue

@param taskId: the taskId that needs to be updated and removed from the unacked queue
@return True in case of successful removal of the taskId from the un-acked queue
core/src/main/java/com/netflix/conductor/service/ExecutionService.java