fix elastic kv ops.

This commit is contained in:
ruitao.liu 2020-09-10 15:59:16 +08:00
parent 3f7fbfddca
commit 6a5b38c0d4
2 changed files with 15 additions and 9 deletions

View file

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

View file

@ -3,6 +3,7 @@ package elastic
import (
"context"
"fmt"
"github.com/chrislusf/seaweedfs/weed/filer"
"github.com/chrislusf/seaweedfs/weed/glog"
@ -32,20 +33,20 @@ func (store *ElasticStore) KvGet(ctx context.Context, key []byte) (value []byte,
Id(string(key)).
Do(ctx)
if elastic.IsNotFound(err) {
return nil, filer.ErrKvNotFound
return value, filer.ErrKvNotFound
}
if searchResult != nil && searchResult.Found {
esEntry := &ESKVEntry{}
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)
return nil, filer.ErrKvNotFound
return value, filer.ErrKvNotFound
}
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)
if err != nil {
glog.Errorf("insert key(%s) %v.", string(key), err)