diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb index 85e2c8d..a1b65bd 100644 --- a/lib/searchkick/query.rb +++ b/lib/searchkick/query.rb @@ -504,6 +504,8 @@ module Searchkick } } } + when :regexp # support for regexp queries without using a regexp ruby object + filters << {regexp: {field => {value: op_value}}} when :not # not equal filters << {not: term_filters(field, op_value)} when :all diff --git a/test/sql_test.rb b/test/sql_test.rb index f7bf735..5f0fcb3 100644 --- a/test/sql_test.rb +++ b/test/sql_test.rb @@ -98,6 +98,11 @@ class TestSql < Minitest::Test assert_search "*", ["Product A"], where: {name: /Pro.+/} end + def test_alternate_regexp + store_names ["Product A", "Item B"] + assert_search "*", ["Product A"], where: {name: {regexp: "Pro.+"}} + end + def test_where_string store [ {name: "Product A", color: "RED"} -- libgit2 0.21.0