MCPcopy Create free account
hub / github.com/couchbase/cbft / bleveRuntimeConfigMap

Function bleveRuntimeConfigMap

pindex_bleve.go:912–1003  ·  view source on GitHub ↗
(bleveParams *BleveParams)

Source from the content-addressed store, hash-verified

910}
911
912func bleveRuntimeConfigMap(bleveParams *BleveParams) (map[string]interface{},
913 string, string) {
914 // check the indexType
915 bleveIndexType, ok := bleveParams.Store["indexType"].(string)
916 if !ok || bleveIndexType == "" {
917 bleveIndexType = bleve.Config.DefaultIndexType
918 }
919
920 kvConfig := map[string]interface{}{
921 "create_if_missing": true,
922 "error_if_exists": true,
923 "unsafe_batch": true,
924 "eventCallbackName": "scorchEventCallbacks",
925 "asyncErrorCallbackName": "scorchAsyncErrorCallbacks",
926 "numSnapshotsToKeep": 3,
927 "forceSegmentType": "zap",
928 "bolt_timeout": "30s",
929 }
930 for k, v := range bleveParams.Store {
931 if k == "segmentVersion" {
932 kvConfig["forceSegmentVersion"] = v
933 continue
934 }
935 kvConfig[k] = v
936 }
937
938 kvStoreName := "scorch"
939 if bleveIndexType != "scorch" {
940 kvStoreName, ok = bleveParams.Store["kvStoreName"].(string)
941 if !ok || kvStoreName == "" {
942 if bleveIndexType == upsidedown.Name {
943 kvStoreName = "mossStore"
944 } else {
945 kvStoreName = bleve.Config.DefaultKVStore
946 }
947 }
948
949 // Use the "moss" wrapper KVStore if it's allowed, available
950 // and also not already configured.
951 kvStoreMossAllow := true
952 ksmv, exists := kvConfig["kvStoreMossAllow"]
953 if exists {
954 var v bool
955 v, ok = ksmv.(bool)
956 if ok {
957 kvStoreMossAllow = v
958 }
959 }
960
961 if kvStoreMossAllow && BlevePIndexAllowMoss {
962 _, exists = kvConfig["mossLowerLevelStoreName"]
963 if !exists &&
964 kvStoreName != "moss" &&
965 bleveRegistry.KVStoreConstructorByName("moss") != nil {
966 kvConfig["mossLowerLevelStoreName"] = kvStoreName
967 kvStoreName = "moss"
968 }
969

Callers 2

parseIndexParamsFunction · 0.85
OpenBlevePIndexImplUsingFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected