code: func (c *InternalClient) Schema(ctx context.Context) ([]*pilosa.IndexInfo, error) {
  	span, ctx := tracing.StartSpanFromContext(ctx, "InternalClient.Schema")
  	defer span.Finish()
  
  	// Execute request against the host.
  	u := c.defaultURI.Path("/schema")
  
  	// Build request.
  	req, err := http.NewRequest("GET", u, nil)
  	if err != nil {
  		return nil, errors.Wrap(err, "creating request")
  	}
  
  	req.Header.Set("User-Agent", "pilosa/"+pilosa.Version)
  	req.Header.Set("Accept", "application/json")
  
  	// Execute request.
  	resp, err := c.executeRequest(req.WithContext(ctx))
  	if err != nil {
  		return nil, err
  	}
  	defer resp.Body.Close()
  
  	var rsp getSchemaResponse
  	if err := json.NewDecoder(resp.Body).Decode(&rsp); err != nil {
  		return nil, fmt.Errorf("json decode: %s", err)
  	}
  	return rsp.Indexes, nil
  }
docs: // Schema returns all index and field schema information.