code: function index (options) {
      var self = this
      // strip mongoose-added functions, depopulate any populated fields, and serialize the doc
      var esearchDoc = helpers.serializeModel(this,options)
  
      var indexUri = helpers.makeDocumentUri(options, self)
  
      var reqOpts = {
          method: 'PUT',
          url: indexUri,
          body: JSON.stringify(esearchDoc)
      }
  
      if(options.auth) {
          reqOpts.auth = {
              user: options.auth.user,
              pass: options.auth.password,
              sendImmediately: false
          };
      }
  
      // console.log('index:', indexUri)
  
      helpers.backOffRequest(reqOpts, function (err, res, body) {
          if (err) {
              var error = new Error('Elasticsearch document indexing error: '+util.inspect(err, true, 10, true))
              error.details = err
  
              console.log('error', error);
              //self.emit('error', error)
              return
          }
  
          self.emit('elmongoose-indexed', body)
      })
  }
docs: Index a document in elasticsearch (create if not existing)
  
  @param  {Object} options     elasticsearch options object. Keys: host, port, index, type