lib/pg_search/features/trigram.rb in pg_search-0.5.1 vs lib/pg_search/features/trigram.rb in pg_search-0.5.2
- old
+ new
@@ -1,29 +1,19 @@
-require "active_support/core_ext/module/delegation"
-
module PgSearch
module Features
- class Trigram
- def initialize(query, options, columns, model, normalizer)
- @query = query
- @options = options
- @columns = columns
- @model = model
- @normalizer = normalizer
- end
-
+ class Trigram < Feature
def conditions
- ["(#{@normalizer.add_normalization(document)}) % #{@normalizer.add_normalization(":query")}", {:query => @query}]
+ [
+ "(#{normalize(document)}) % #{normalize(":query")}",
+ {:query => @query}
+ ]
end
def rank
- ["similarity((#{@normalizer.add_normalization(document)}), #{@normalizer.add_normalization(":query")})", {:query => @query}]
- end
-
- private
-
- def document
- @columns.map { |column| column.to_sql }.join(" || ' ' || ")
+ [
+ "similarity((#{normalize(document)}), #{normalize(":query")})",
+ {:query => @query}
+ ]
end
end
end
end