public function createIndex($bucketName, $indexName, $columns, $condition = null, &$params = [], $options = [])
    {
        $bucketName = $this->db->quoteBucketName($bucketName);
        $indexName  = $this->db->quoteBucketName($indexName);

        foreach ($columns as $i => $column) {
            if ($column instanceof Expression) {
                $columns[$i] = $column->expression;
            }
            else {
                $columns[$i] = $this->db->quoteColumnName($column);
            }
        }

        $where = $this->buildWhere($condition, $params);

        $sql = "CREATE INDEX $indexName ON $bucketName (" . implode(', ', $columns) . ")";
        $sql = $where === '' ? $sql : $sql . ' ' . $where;
        $sql = empty($options) ? $sql : $sql . ' WITH ' . Json::encode($options, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);

        return $sql;
    }