code: func (i *Index) Open() error {
  	// Ensure the path exists.
  	i.logger.Debugf("ensure index path exists: %s", i.path)
  	if err := os.MkdirAll(i.path, 0777); err != nil {
  		return errors.Wrap(err, "creating directory")
  	}
  
  	// Read meta file.
  	i.logger.Debugf("load meta file for index: %s", i.name)
  	if err := i.loadMeta(); err != nil {
  		return errors.Wrap(err, "loading meta file")
  	}
  
  	i.logger.Debugf("open fields for index: %s", i.name)
  	if err := i.openFields(); err != nil {
  		return errors.Wrap(err, "opening fields")
  	}
  
  	if i.trackExistence {
  		if err := i.openExistenceField(); err != nil {
  			return errors.Wrap(err, "opening existence field")
  		}
  	}
  
  	if err := i.columnAttrs.Open(); err != nil {
  		return errors.Wrap(err, "opening attrstore")
  	}
  
  	return nil
  }
docs: // Open opens and initializes the index.