code: func (conf *IndexWriterConfig) SetIndexDeletionPolicy(delPolicy IndexDeletionPolicy) *IndexWriterConfig {
  	if delPolicy == nil {
  		panic("indexDeletionPolicy must not be nil")
  	}
  	conf.delPolicy = delPolicy
  	return conf
  }
docs: /*
  Expert: allows an optional IndexDeletionPolicy implementation to be
  specified. You can use this to control when prior commits are deleted
  from the index. The default policy is
  KeepOnlyLastCommitDeletionPolicy which removes all prior commits as
  soon as a new commit is done (this matches behavior before 2.2).
  Creating your own policy can allow you to explicitly keep previous
  "point in time" commits alive in the index for some time, to allow
  readers to refresh to the new commit without having the old commit
  deleted out from under them. This is necessary on filesystems like
  NFS that do not support "delete on last close" semantics, which
  Lucene's "point in time" search normally relies on.
  
  NOTE: the deletion policy can not be nil
  */