{"record":{"id":"432f8ba2803e461b","repo":"redis/redis-rb","slug":"index-type-must-be-indextype-hash-or-indextype-j","errorCode":null,"errorMessage":"index_type must be IndexType::HASH or IndexType::JSON","messagePattern":"index_type must be IndexType::HASH or IndexType::JSON","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/redis/commands/modules/search/index_definition.rb","lineNumber":64,"sourceCode":"          # external mutations can't alter this definition.\n          @prefixes = Array(prefix).dup\n          append_index_type(index_type)\n          append_prefix(@prefixes)\n          append_filter(filter)\n          append_language(language_field, language)\n          append_score(score_field, score)\n          append_payload(payload_field)\n        end\n\n        private\n\n        def append_index_type(index_type)\n          if index_type == IndexType::HASH\n            @args += [\"ON\", \"HASH\"]\n          elsif index_type == IndexType::JSON\n            @args += [\"ON\", \"JSON\"]\n          elsif !index_type.nil?\n            raise ArgumentError, \"index_type must be IndexType::HASH or IndexType::JSON\"\n          end\n        end\n\n        def append_prefix(prefix)\n          unless prefix.empty?\n            @args << \"PREFIX\"\n            @args << prefix.length\n            prefix.each { |p| @args << p }\n          end\n        end\n\n        def append_filter(filter)\n          if filter\n            @args << \"FILTER\"\n            @args << filter\n          end\n        end\n","sourceCodeStart":46,"sourceCodeEnd":82,"githubUrl":"https://github.com/redis/redis-rb/blob/2ba9010b91dab9e0fde1fbae3a9aae003f8bc307/lib/redis/commands/modules/search/index_definition.rb#L46-L82","documentation":"Error \"index_type must be IndexType::HASH or IndexType::JSON\" thrown in redis/redis-rb.","triggerScenarios":"Thrown at lib/redis/commands/modules/search/index_definition.rb:64 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set index_type to IndexType::HASH or IndexType::JSON when building the index definition.","Do not pass arbitrary strings; use the IndexType constants."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2ba9010b91dab9e0fde1fbae3a9aae003f8bc307","analyzedAt":"2026-08-23T03:54:57.017Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}