Interface QueryBackend<T extends GeneratedQueryContext>
- Type Parameters:
T- the type of the generated query
public interface QueryBackend<T extends GeneratedQueryContext>
A search backend that is capable of generating and executing search jobs
-
Method Summary
Modifier and TypeMethodDescriptionExplain the generated query as part of the given query job.Run the generated query as part of the given query job.default AbsoluteRangeeffectiveTimeRangeForResult(Query query, QueryResult queryResult) explain(SearchJob job, Query query, GeneratedQueryContext queryContext) generate(Query query, Set<SearchError> validationErrors, org.joda.time.DateTimeZone timezone) Generate a backend-specific query out of the logical query structure.indexRangesForStreamsInTimeRange(Set<String> streamIds, TimeRange timeRange) default booleanisAllMessages(TimeRange timeRange) default booleanisSearchTypeWithError(T queryContext, String searchTypeId) default QueryResultrun(SearchJob job, Query query, GeneratedQueryContext generatedQueryContext) streamTitle(String streamId)
-
Method Details
-
generate
Generate a backend-specific query out of the logical query structure.- Parameters:
query- the graylog query structure- Returns:
- a backend specific generated query
-
getExecutionStatsCollector
StatsCollector<QueryExecutionStats> getExecutionStatsCollector() -
isAllMessages
-
effectiveTimeRangeForResult
-
run
-
doRun
Run the generated query as part of the given query job.This method is typically being run in an executor and can safely block.
- Parameters:
job- currently executing jobquery- the individual query to run from the current jobqueryContext- the generated query by#generate(Query, Set)- Returns:
- the result for the query
- Throws:
RuntimeException- if the query could not be executed for some reason
-
explain
default ExplainResults.QueryExplainResult explain(SearchJob job, Query query, GeneratedQueryContext queryContext) -
doExplain
Explain the generated query as part of the given query job.- Parameters:
job- currently executing jobquery- the individual query to explain from the current jobqueryContext- the generated query by#generate(Query, Set)- Returns:
- the explain result for the query
-
indexRangesForStreamsInTimeRange
-
streamTitle
-
isSearchTypeWithError
-