diff --git a/go.mod b/go.mod
index d2dad60cd..69092fd88 100644
--- a/go.mod
+++ b/go.mod
@@ -36,6 +36,7 @@ require (
 	github.com/grpc-ecosystem/grpc-gateway v1.11.0 // indirect
 	github.com/hashicorp/golang-lru v0.5.3 // indirect
 	github.com/jcmturner/gofork v1.0.0 // indirect
+	github.com/json-iterator/go v1.1.10
 	github.com/karlseguin/ccache v2.0.3+incompatible
 	github.com/karlseguin/expect v1.0.1 // indirect
 	github.com/klauspost/compress v1.10.9
@@ -48,6 +49,7 @@ require (
 	github.com/mattn/go-ieproxy v0.0.0-20190805055040-f9202b1cfdeb // indirect
 	github.com/mattn/go-runewidth v0.0.4 // indirect
 	github.com/nats-io/nats-server/v2 v2.0.4 // indirect
+	github.com/olivere/elastic/v7 v7.0.19
 	github.com/onsi/ginkgo v1.10.1 // indirect
 	github.com/onsi/gomega v1.7.0 // indirect
 	github.com/peterh/liner v1.1.0
@@ -87,8 +89,6 @@ require (
 	gopkg.in/jcmturner/goidentity.v3 v3.0.0 // indirect
 	gopkg.in/jcmturner/gokrb5.v7 v7.3.0 // indirect
 	gopkg.in/karlseguin/expect.v1 v1.0.1 // indirect
-	github.com/json-iterator/go v1.1.10
-	github.com/olivere/elastic/v7 v7.0.19
 )
 
 replace go.etcd.io/etcd => go.etcd.io/etcd v0.5.0-alpha.5.0.20200425165423-262c93980547
diff --git a/weed/filer/elastic/v7/elastic_store.go b/weed/filer/elastic/v7/elastic_store.go
index 190ec4897..e75f55239 100644
--- a/weed/filer/elastic/v7/elastic_store.go
+++ b/weed/filer/elastic/v7/elastic_store.go
@@ -7,7 +7,7 @@ import (
 	"math"
 	"strings"
 
-	"github.com/chrislusf/seaweedfs/weed/filer2"
+	"github.com/chrislusf/seaweedfs/weed/filer"
 	"github.com/chrislusf/seaweedfs/weed/glog"
 	"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
 	weed_util "github.com/chrislusf/seaweedfs/weed/util"
@@ -22,11 +22,11 @@ var (
 
 type ESEntry struct {
 	ParentId string `json:"ParentId"`
-	Entry    *filer2.Entry
+	Entry    *filer.Entry
 }
 
 func init() {
-	filer2.Stores = append(filer2.Stores, &ElasticStore{})
+	filer.Stores = append(filer.Stores, &ElasticStore{})
 }
 
 type ElasticStore struct {
@@ -66,7 +66,20 @@ func (store *ElasticStore) CommitTransaction(ctx context.Context) error {
 func (store *ElasticStore) RollbackTransaction(ctx context.Context) error {
 	return nil
 }
-func (store *ElasticStore) InsertEntry(ctx context.Context, entry *filer2.Entry) (err error) {
+func (store *ElasticStore) KvDelete(ctx context.Context, key []byte) (err error) {
+	return filer.ErrKvNotImplemented
+}
+func (store *ElasticStore) KvGet(ctx context.Context, key []byte) (value []byte, err error) {
+	return []byte(""), filer.ErrKvNotImplemented
+}
+func (store *ElasticStore) KvPut(ctx context.Context, key []byte, value []byte) (err error) {
+	return filer.ErrKvNotImplemented
+}
+func (store *ElasticStore) ListDirectoryPrefixedEntries(ctx context.Context, fullpath weed_util.FullPath, startFileName string, inclusive bool, limit int, prefix string) (entries []*filer.Entry, err error) {
+	return nil, filer.ErrUnsupportedListDirectoryPrefixed
+}
+
+func (store *ElasticStore) InsertEntry(ctx context.Context, entry *filer.Entry) (err error) {
 	index := getIndex(entry.FullPath)
 	dir, _ := entry.FullPath.DirAndName()
 	id := fmt.Sprintf("%x", md5.Sum([]byte(entry.FullPath)))
@@ -91,10 +104,10 @@ func (store *ElasticStore) InsertEntry(ctx context.Context, entry *filer2.Entry)
 	}
 	return nil
 }
-func (store *ElasticStore) UpdateEntry(ctx context.Context, entry *filer2.Entry) (err error) {
+func (store *ElasticStore) UpdateEntry(ctx context.Context, entry *filer.Entry) (err error) {
 	return store.InsertEntry(ctx, entry)
 }
-func (store *ElasticStore) FindEntry(ctx context.Context, fullpath weed_util.FullPath) (entry *filer2.Entry, err error) {
+func (store *ElasticStore) FindEntry(ctx context.Context, fullpath weed_util.FullPath) (entry *filer.Entry, err error) {
 	index := getIndex(fullpath)
 	id := fmt.Sprintf("%x", md5.Sum([]byte(fullpath)))
 	searchResult, err := store.client.Get().
@@ -108,7 +121,7 @@ func (store *ElasticStore) FindEntry(ctx context.Context, fullpath weed_util.Ful
 	if searchResult != nil && searchResult.Found {
 		esEntry := &ESEntry{
 			ParentId: "",
-			Entry:    &filer2.Entry{},
+			Entry:    &filer.Entry{},
 		}
 		err := jsoniter.Unmarshal(searchResult.Source, esEntry)
 		return esEntry.Entry, err
@@ -157,14 +170,14 @@ func (store *ElasticStore) DeleteFolderChildren(ctx context.Context, fullpath we
 
 func (store *ElasticStore) ListDirectoryEntries(
 	ctx context.Context, fullpath weed_util.FullPath, startFileName string, inclusive bool, limit int,
-) (entries []*filer2.Entry, err error) {
+) (entries []*filer.Entry, err error) {
 	if string(fullpath) == "/" {
 		return store.listRootDirectoryEntries(ctx, startFileName, inclusive, limit)
 	}
 	return store.listDirectoryEntries(ctx, fullpath, startFileName, inclusive, limit)
 }
 
-func (store *ElasticStore) listRootDirectoryEntries(ctx context.Context, startFileName string, inclusive bool, limit int) (entries []*filer2.Entry, err error) {
+func (store *ElasticStore) listRootDirectoryEntries(ctx context.Context, startFileName string, inclusive bool, limit int) (entries []*filer.Entry, err error) {
 	indexResult, err := store.client.CatIndices().Do(context.Background())
 	if err != nil {
 		glog.Errorf("list indices %v.", err)
@@ -191,7 +204,7 @@ func (store *ElasticStore) listRootDirectoryEntries(ctx context.Context, startFi
 
 func (store *ElasticStore) listDirectoryEntries(
 	ctx context.Context, fullpath weed_util.FullPath, startFileName string, inclusive bool, limit int,
-) (entries []*filer2.Entry, err error) {
+) (entries []*filer.Entry, err error) {
 	first := true
 	index := getIndex(fullpath)
 	nextStart := ""
@@ -224,7 +237,7 @@ func (store *ElasticStore) listDirectoryEntries(
 		for _, hit := range result.Hits.Hits {
 			esEntry := &ESEntry{
 				ParentId: "",
-				Entry:    &filer2.Entry{},
+				Entry:    &filer.Entry{},
 			}
 			if err := jsoniter.Unmarshal(hit.Source, esEntry); err == nil {
 				limit--
diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go
index 167a822b2..9661d8759 100644
--- a/weed/server/filer_server.go
+++ b/weed/server/filer_server.go
@@ -20,6 +20,7 @@ import (
 
 	"github.com/chrislusf/seaweedfs/weed/filer"
 	_ "github.com/chrislusf/seaweedfs/weed/filer/cassandra"
+	_ "github.com/chrislusf/seaweedfs/weed/filer/elastic/v7"
 	_ "github.com/chrislusf/seaweedfs/weed/filer/etcd"
 	_ "github.com/chrislusf/seaweedfs/weed/filer/leveldb"
 	_ "github.com/chrislusf/seaweedfs/weed/filer/leveldb2"
@@ -28,7 +29,6 @@ import (
 	_ "github.com/chrislusf/seaweedfs/weed/filer/postgres"
 	_ "github.com/chrislusf/seaweedfs/weed/filer/redis"
 	_ "github.com/chrislusf/seaweedfs/weed/filer/redis2"
-	_ "github.com/chrislusf/seaweedfs/weed/filer2/elastic/v7"
 	"github.com/chrislusf/seaweedfs/weed/glog"
 	"github.com/chrislusf/seaweedfs/weed/notification"
 	_ "github.com/chrislusf/seaweedfs/weed/notification/aws_sqs"