registerIndexEvents() {
    /**
     * Create a new index within this adapter scope
     * @param  {string} index
     * @param  {Object} options
     * @returns {Promise}
     * @throws
     */
    global.kuzzle.onAsk(
      `core:storage:${this.scope}:index:create`,
      (index, options) => this.createIndex(index, options),
    );

    /**
     * Delete an index
     * @param {string} index
     * @return {Promise}
     * @throws If the index does not exist
     */
    global.kuzzle.onAsk(`core:storage:${this.scope}:index:delete`, (index) =>
      this.deleteIndex(index),
    );

    /**
     * Check an index existence
     * @param {string} index
     * @return {Promise.<boolean>}
     */
    global.kuzzle.onAsk(`core:storage:${this.scope}:index:exist`, (index) =>
      this.cache.hasIndex(index),
    );

    /**
     * Return a list of all indexes within this adapter's scope
     * @returns {string[]}
     */
    global.kuzzle.onAsk(`core:storage:${this.scope}:index:list`, () =>
      this.cache.listIndexes(),
    );

    /**
     * Delete multiple indexes
     * @param {string[]} indexes
     * @return {Promise}
     * @throws If at least one index does not exist
     */
    global.kuzzle.onAsk(`core:storage:${this.scope}:index:mDelete`, (indexes) =>
      this.deleteIndexes(indexes),
    );

    /**
     * Return detailed storage stats within this adapter's scope
     * @returns {Promise.<Object>}
     */
    global.kuzzle.onAsk(`core:storage:${this.scope}:index:stats`, () =>
      this.client.stats(),
    );
  }
Update a collection settings and mappings
@param {string} index
@param {string} collection
@param {Object} changes
@returns {Promise}