{"record":{"id":"236278d26a5baa94","repo":"ankane/searchkick","slug":"ef-search-requires-opensearch-2-16","errorCode":null,"errorMessage":"ef_search requires OpenSearch 2.16+","messagePattern":"ef_search requires OpenSearch 2\\.16\\+","errorType":"exception","errorClass":"Searchkick::Error","httpStatus":null,"severity":"error","filePath":"lib/searchkick/query.rb","lineNumber":1025,"sourceCode":"                bool: {\n                  must: [filter, {exists: {field: field}}]\n                }\n              },\n              script: {\n                source: \"knn_score\",\n                lang: \"knn\",\n                params: {\n                  field: field,\n                  query_value: vector,\n                  space_type: space_type\n                }\n              },\n              boost: distance == \"cosine\" && Searchkick.server_below?(\"2.19.0\") ? 0.5 : 1.0\n            }\n          }\n        else\n          if ef_search && Searchkick.server_below?(\"2.16.0\")\n            raise Error, \"ef_search requires OpenSearch 2.16+\"\n          end\n\n          payload[:query] = {\n            knn: {\n              field.to_sym => {\n                vector: vector,\n                k: k,\n                filter: filter\n              }.merge(ef_search ? {method_parameters: {ef_search: ef_search}} : {})\n            }\n          }\n        end\n      else\n        if exact\n          # prevent incorrect distances/results with Elasticsearch 9.0.0-rc1\n          if !Searchkick.server_below?(\"9.0.0\") && field_options[:distance] == \"cosine\" && distance != \"cosine\"\n            raise ArgumentError, \"distance must match searchkick options\"\n          end","sourceCodeStart":1007,"sourceCodeEnd":1043,"githubUrl":"https://github.com/ankane/searchkick/blob/93e901a75b11a25101668a616e006b158251b16e/lib/searchkick/query.rb#L1007-L1043","documentation":"Error \"ef_search requires OpenSearch 2.16+\" thrown in ankane/searchkick.","triggerScenarios":"Thrown at lib/searchkick/query.rb:1025 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"}