fix elastic kv ops.
This commit is contained in:
@@ -21,7 +21,12 @@ var (
|
|||||||
indexKV = ".seaweedfs_kv_entries"
|
indexKV = ".seaweedfs_kv_entries"
|
||||||
mappingWithoutQuery = ` {
|
mappingWithoutQuery = ` {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"enabled": false
|
"enabled": false,
|
||||||
|
"properties": {
|
||||||
|
"Value":{
|
||||||
|
"type": "binary"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}`
|
}`
|
||||||
)
|
)
|
||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user