code: func (e *ElasticsearchExecutor) Query(ctx context.Context, dsInfo *models.DataSource, tsdbQuery *tsdb.TsdbQuery) (*tsdb.Response, error) {
  	if len(tsdbQuery.Queries) == 0 {
  		return nil, fmt.Errorf("query contains no queries")
  	}
  
  	client, err := es.NewClient(ctx, dsInfo, tsdbQuery.TimeRange)
  	if err != nil {
  		return nil, err
  	}
  
  	query := newTimeSeriesQuery(client, tsdbQuery, intervalCalculator)
  	return query.execute()
  }
docs: // Query handles an elasticsearch datasource request