{"record":{"id":"55592e4ec28a4efc","repo":"ankane/searchkick","slug":"must-pass-fields-to-suggest-option","errorCode":null,"errorMessage":"Must pass fields to suggest option","messagePattern":"Must pass fields to suggest option","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/searchkick/query.rb","lineNumber":798,"sourceCode":"        suggest_fields = (searchkick_options[:suggest] || []).map(&:to_s)\n\n        # intersection\n        if options[:fields]\n          suggest_fields &= options[:fields].map { |v| (v.is_a?(Hash) ? v.keys.first : v).to_s.split(\"^\", 2).first }\n        end\n      end\n\n      if suggest_fields.any?\n        payload[:suggest] = {text: term}\n        suggest_fields.each do |field|\n          payload[:suggest][field] = {\n            phrase: {\n              field: \"#{field}.suggest\"\n            }\n          }\n        end\n      else\n        raise ArgumentError, \"Must pass fields to suggest option\"\n      end\n    end\n\n    def set_highlights(payload, fields)\n      payload[:highlight] = {\n        fields: fields.to_h { |f| [f, {}] },\n        fragment_size: 0\n      }\n\n      if options[:highlight].is_a?(Hash)\n        if (tag = options[:highlight][:tag])\n          payload[:highlight][:pre_tags] = [tag]\n          payload[:highlight][:post_tags] = [tag.to_s.gsub(/\\A<(\\w+).+/, \"</\\\\1>\")]\n        end\n\n        if (fragment_size = options[:highlight][:fragment_size])\n          payload[:highlight][:fragment_size] = fragment_size\n        end","sourceCodeStart":780,"sourceCodeEnd":816,"githubUrl":"https://github.com/ankane/searchkick/blob/93e901a75b11a25101668a616e006b158251b16e/lib/searchkick/query.rb#L780-L816","documentation":"Error \"Must pass fields to suggest option\" thrown in ankane/searchkick.","triggerScenarios":"Thrown at lib/searchkick/query.rb:798 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":"93e901a75b11a25101668a616e006b158251b16e","analyzedAt":"2026-08-21T19:06:23.767Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}