{"record":{"id":"5e072be9b38a3f24","repo":"mongodb/mongoid","slug":"cannot-infer-vector-path-on-name-no-vector-t","errorCode":null,"errorMessage":"Cannot infer vector path on #{name}: no 'vector' type field in index definition; specify path:","messagePattern":"Cannot infer vector path on #(.+?): no 'vector' type field in index definition; specify path:","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/mongoid/search_indexable.rb","lineNumber":462,"sourceCode":"\n        resolved_index = spec[:name] || 'default'\n        resolved_path  = path ? path.to_s : infer_vector_path(spec)\n\n        [ resolved_index, resolved_path ]\n      end\n\n      # Infers the vector field path from the index definition by locating\n      # the first field declared with type 'vector'.\n      #\n      # @param [ Hash ] spec The vector search index spec.\n      #\n      # @return [ String ] the field path.\n      def infer_vector_path(spec)\n        field_list = spec.dig(:definition, :fields) || spec.dig(:definition, 'fields') || []\n        vector_field = field_list.find { |f| (f[:type] || f['type']) == 'vector' }\n\n        unless vector_field\n          raise ArgumentError,\n                \"Cannot infer vector path on #{name}: no 'vector' type field in index definition; specify path:\"\n        end\n\n        (vector_field[:path] || vector_field['path']).to_s\n      end\n\n      # Resolves the index name and text field path for an auto-embedding\n      # query, applying inference when either is omitted.\n      #\n      # @param [ String | Symbol | nil ] index The requested index name.\n      # @param [ String | Symbol | nil ] path The requested field path.\n      #\n      # @return [ Array<String> ] the resolved [ index_name, field_path ] pair.\n      def resolve_auto_embed_index(index, path)\n        auto_embed_specs = search_index_specs.select do |s|\n          s[:type] == 'vectorSearch' &&\n            (s.dig(:definition, :fields) || s.dig(:definition, 'fields') || [])\n              .any? { |f| (f[:type] || f['type']) == 'autoEmbed' }","sourceCodeStart":444,"sourceCodeEnd":480,"githubUrl":"https://github.com/mongodb/mongoid/blob/0da0e23d71adfbad31128c18e5e2c8c301c6f7c4/lib/mongoid/search_indexable.rb#L444-L480","documentation":"Error \"Cannot infer vector path on #{name}: no 'vector' type field in index definition; specify path:\" thrown in mongodb/mongoid.","triggerScenarios":"Thrown at lib/mongoid/search_indexable.rb:462 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":"0da0e23d71adfbad31128c18e5e2c8c301c6f7c4","analyzedAt":"2026-08-23T06:25:47.656Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}