code: func (api *API) DeleteField(ctx context.Context, indexName string, fieldName string) error {
  	span, _ := tracing.StartSpanFromContext(ctx, "API.DeleteField")
  	defer span.Finish()
  
  	if err := api.validate(apiDeleteField); err != nil {
  		return errors.Wrap(err, "validating api method")
  	}
  
  	// Find index.
  	index := api.holder.Index(indexName)
  	if index == nil {
  		return newNotFoundError(ErrIndexNotFound)
  	}
  
  	// Delete field from the index.
  	if err := index.DeleteField(fieldName); err != nil {
  		return errors.Wrap(err, "deleting field")
  	}
  
  	// Send the delete field message to all nodes.
  	err := api.server.SendSync(
  		&DeleteFieldMessage{
  			Index: indexName,
  			Field: fieldName,
  		})
  	if err != nil {
  		api.server.logger.Printf("problem sending DeleteField message: %s", err)
  		return errors.Wrap(err, "sending DeleteField message")
  	}
  	api.holder.Stats.CountWithCustomTags("deleteField", 1, 1.0, []string{fmt.Sprintf("index:%s", indexName)})
  	return nil
  }
docs: // DeleteField removes the named field from the named index. If the index is not
  // found, an error is returned. If the field is not found, it is ignored and no
  // action is taken.