diff --git a/lib/pg_searchable_regex.rb b/lib/pg_searchable_regex.rb index 4387373..dc1b18d 100644 --- a/lib/pg_searchable_regex.rb +++ b/lib/pg_searchable_regex.rb @@ -36,7 +36,7 @@ module PgSearchable @ts_skip_cache_update = skip_callback @ts_wildcard = wildcard @ts_joins = joins - @default_field = (default_field.to_sym || fields.first) + @default_field = default_field.to_s.empty? ? fields.first : default_field.to_sym ts_add_scope end diff --git a/lib/text_to_sql_query.rb b/lib/text_to_sql_query.rb index d473f48..c464349 100644 --- a/lib/text_to_sql_query.rb +++ b/lib/text_to_sql_query.rb @@ -29,7 +29,7 @@ class TextToSqlQuery case first_key when :DEFAULT_COLUMN escaped_node_value = handle_special_chars node_value - ["#{@default_field.to_s} ILIKE ?", "%#{escaped_node_value}%"] + ["CAST(#{@default_field.to_s} AS TEXT) ILIKE ?", "%#{escaped_node_value}%"] when :OPERATOR_OR generate_expression_for_logical_operator(:OR, node_value) when :OPERATOR_AND @@ -53,7 +53,7 @@ class TextToSqlQuery if mapping.nil? raise "Unknown field '#{first_key.to_s}'" else - ["#{mapping.to_s} ILIKE ?", "%#{escaped_node_value}%"] + ["CAST(#{mapping.to_s} AS TEXT) ILIKE ?", "%#{escaped_node_value}%"] end end end