Browse Source

fix elastic kv ops.

pull/1455/head
ruitao.liu 4 years ago
parent
commit
6a5b38c0d4
  1. 15
      weed/filer/elastic/v7/elastic_store.go
  2. 9
      weed/filer/elastic/v7/elastic_store_kv.go

15
weed/filer/elastic/v7/elastic_store.go

@ -20,10 +20,15 @@ var (
indexPrefix = ".seaweedfs_" indexPrefix = ".seaweedfs_"
indexKV = ".seaweedfs_kv_entries" indexKV = ".seaweedfs_kv_entries"
mappingWithoutQuery = ` { mappingWithoutQuery = ` {
"mappings": {
"enabled": false
}
}`
"mappings": {
"enabled": false,
"properties": {
"Value":{
"type": "binary"
}
}
}
}`
) )
type ESEntry struct { type ESEntry struct {
@ -32,7 +37,7 @@ type ESEntry struct {
} }
type ESKVEntry struct { type ESKVEntry struct {
Value string `json:Value`
Value []byte `json:"Value"`
} }
func init() { func init() {

9
weed/filer/elastic/v7/elastic_store_kv.go

@ -3,6 +3,7 @@ package elastic
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/chrislusf/seaweedfs/weed/filer" "github.com/chrislusf/seaweedfs/weed/filer"
"github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/glog"
@ -32,20 +33,20 @@ func (store *ElasticStore) KvGet(ctx context.Context, key []byte) (value []byte,
Id(string(key)). Id(string(key)).
Do(ctx) Do(ctx)
if elastic.IsNotFound(err) { if elastic.IsNotFound(err) {
return nil, filer.ErrKvNotFound
return value, filer.ErrKvNotFound
} }
if searchResult != nil && searchResult.Found { if searchResult != nil && searchResult.Found {
esEntry := &ESKVEntry{} esEntry := &ESKVEntry{}
if err := jsoniter.Unmarshal(searchResult.Source, esEntry); err == nil { if err := jsoniter.Unmarshal(searchResult.Source, esEntry); err == nil {
return []byte(esEntry.Value), nil
return esEntry.Value, nil
} }
} }
glog.Errorf("find key(%s),%v.", string(key), err) glog.Errorf("find key(%s),%v.", string(key), err)
return nil, filer.ErrKvNotFound
return value, filer.ErrKvNotFound
} }
func (store *ElasticStore) KvPut(ctx context.Context, key []byte, value []byte) (err error) { func (store *ElasticStore) KvPut(ctx context.Context, key []byte, value []byte) (err error) {
esEntry := &ESKVEntry{string(value)}
esEntry := &ESKVEntry{value}
val, err := jsoniter.Marshal(esEntry) val, err := jsoniter.Marshal(esEntry)
if err != nil { if err != nil {
glog.Errorf("insert key(%s) %v.", string(key), err) glog.Errorf("insert key(%s) %v.", string(key), err)

Loading…
Cancel
Save