code: func (c *Client) Schema() (*Schema, error) {
  	span := c.tracer.StartSpan("Client.Schema")
  	defer span.Finish()
  
  	var indexes []SchemaIndex
  	indexes, err := c.readSchema()
  	if err != nil {
  		return nil, err
  	}
  	schema := NewSchema()
  	for _, indexInfo := range indexes {
  		index := schema.indexWithOptions(indexInfo.Name, indexInfo.ShardWidth, indexInfo.Options.asIndexOptions())
  		for _, fieldInfo := range indexInfo.Fields {
  			index.fieldWithOptions(fieldInfo.Name, fieldInfo.Options.asFieldOptions())
  		}
  	}
  	return schema, nil
  }
docs: // Schema returns the indexes and fields on the server.