ankane/searchkick · error · ArgumentError

Unknown where operator: #{op.inspect}

Error message

Unknown where operator: #{op.inspect}

What it means

Error "Unknown where operator: #{op.inspect}" thrown in ankane/searchkick.

Source

Thrown at lib/searchkick/query.rb:1236

                  filters << {exists: {field: field}}
                when false
                  filters << {bool: {must_not: {exists: {field: field}}}}
                else
                  raise ArgumentError, "Passing a value other than true or false to exists is not supported"
                end
              else
                range_query =
                  case op
                  when :gt
                    {gt: op_value}
                  when :gte
                    {gte: op_value}
                  when :lt
                    {lt: op_value}
                  when :lte
                    {lte: op_value}
                  else
                    raise ArgumentError, "Unknown where operator: #{op.inspect}"
                  end
                # issue 132
                if (existing = filters.find { |f| f[:range] && f[:range][field] })
                  existing[:range][field].merge!(range_query)
                else
                  filters << {range: {field => range_query}}
                end
              end
            end
          else
            filters << term_filters(field, value)
          end
        end
      end
      filters
    end

    def term_filters(field, value)

View on GitHub (pinned to 93e901a75b)

When it happens

Trigger: Thrown at lib/searchkick/query.rb:1236 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ankane/searchkick@93e901a75b (2026-08-21). Data as JSON: /api/errors/0119bf1f922b8d71. Report an issue: GitHub.