{"record":{"id":"1bdd6d9c34feed7c","repo":"redis/go-redis","slug":"ft-create-type-dim-and-distancemetric-are-requir-1bdd6d","errorCode":null,"errorMessage":"FT.CREATE: Type, Dim and DistanceMetric are required for VECTOR HNSW","messagePattern":"FT\\.CREATE: Type, Dim and DistanceMetric are required for VECTOR HNSW","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"search_commands.go","lineNumber":1510,"sourceCode":"\t\t\t\tflatArgs := []interface{}{\n\t\t\t\t\t\"TYPE\", schema.VectorArgs.FlatOptions.Type,\n\t\t\t\t\t\"DIM\", schema.VectorArgs.FlatOptions.Dim,\n\t\t\t\t\t\"DISTANCE_METRIC\", schema.VectorArgs.FlatOptions.DistanceMetric,\n\t\t\t\t}\n\t\t\t\tif schema.VectorArgs.FlatOptions.InitialCapacity > 0 {\n\t\t\t\t\tflatArgs = append(flatArgs, \"INITIAL_CAP\", schema.VectorArgs.FlatOptions.InitialCapacity)\n\t\t\t\t}\n\t\t\t\tif schema.VectorArgs.FlatOptions.BlockSize > 0 {\n\t\t\t\t\tflatArgs = append(flatArgs, \"BLOCK_SIZE\", schema.VectorArgs.FlatOptions.BlockSize)\n\t\t\t\t}\n\t\t\t\targs = append(args, len(flatArgs))\n\t\t\t\targs = append(args, flatArgs...)\n\t\t\t}\n\t\t\tif schema.VectorArgs.HNSWOptions != nil {\n\t\t\t\targs = append(args, \"HNSW\")\n\t\t\t\tif schema.VectorArgs.HNSWOptions.Type == \"\" || schema.VectorArgs.HNSWOptions.Dim == 0 || schema.VectorArgs.HNSWOptions.DistanceMetric == \"\" {\n\t\t\t\t\tcmd := NewStatusCmd(ctx, args...)\n\t\t\t\t\tcmd.SetErr(fmt.Errorf(\"FT.CREATE: Type, Dim and DistanceMetric are required for VECTOR HNSW\"))\n\t\t\t\t\treturn cmd\n\t\t\t\t}\n\t\t\t\thnswArgs := []interface{}{\n\t\t\t\t\t\"TYPE\", schema.VectorArgs.HNSWOptions.Type,\n\t\t\t\t\t\"DIM\", schema.VectorArgs.HNSWOptions.Dim,\n\t\t\t\t\t\"DISTANCE_METRIC\", schema.VectorArgs.HNSWOptions.DistanceMetric,\n\t\t\t\t}\n\t\t\t\tif schema.VectorArgs.HNSWOptions.InitialCapacity > 0 {\n\t\t\t\t\thnswArgs = append(hnswArgs, \"INITIAL_CAP\", schema.VectorArgs.HNSWOptions.InitialCapacity)\n\t\t\t\t}\n\t\t\t\tif schema.VectorArgs.HNSWOptions.MaxEdgesPerNode > 0 {\n\t\t\t\t\thnswArgs = append(hnswArgs, \"M\", schema.VectorArgs.HNSWOptions.MaxEdgesPerNode)\n\t\t\t\t}\n\t\t\t\tif schema.VectorArgs.HNSWOptions.MaxAllowedEdgesPerNode > 0 {\n\t\t\t\t\thnswArgs = append(hnswArgs, \"EF_CONSTRUCTION\", schema.VectorArgs.HNSWOptions.MaxAllowedEdgesPerNode)\n\t\t\t\t}\n\t\t\t\tif schema.VectorArgs.HNSWOptions.EFRunTime > 0 {\n\t\t\t\t\thnswArgs = append(hnswArgs, \"EF_RUNTIME\", schema.VectorArgs.HNSWOptions.EFRunTime)","sourceCodeStart":1492,"sourceCodeEnd":1528,"githubUrl":"https://github.com/redis/go-redis/blob/c5cad058c72f58370553b48566302303cf8a2e89/search_commands.go#L1492-L1528","documentation":"Error \"FT.CREATE: Type, Dim and DistanceMetric are required for VECTOR HNSW\" thrown in redis/go-redis.","triggerScenarios":"Thrown at search_commands.go:1510 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c5cad058c72f58370553b48566302303cf8a2e89","analyzedAt":"2026-09-01T06:50:53.388Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}