diff --git a/lib/searchkick.rb b/lib/searchkick.rb index 490a62a..0a30b92 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -6,14 +6,20 @@ require "searchkick/index" require "searchkick/reindex" require "searchkick/results" require "searchkick/query" -require "searchkick/search" require "searchkick/similar" require "searchkick/model" require "searchkick/tasks" require "searchkick/logging" if defined?(Rails) module Searchkick + def self.search_method_name=(_search_method_name) + @search_method_name ||= _search_method_name + end + def self.search_method_name + @search_method_name || :search + end + def self.client @client ||= Elasticsearch::Client.new(url: ENV["ELASTICSEARCH_URL"]) end diff --git a/lib/searchkick/model.rb b/lib/searchkick/model.rb index 488c1d9..3c2e56d 100644 --- a/lib/searchkick/model.rb +++ b/lib/searchkick/model.rb @@ -19,7 +19,14 @@ module Searchkick Searchkick::Index.new(index) end - extend Searchkick::Search + define_singleton_method(Searchkick.search_method_name) do |term, options={}| + query = Searchkick::Query.new(self, term, options) + if options[:execute] == false + query + else + query.execute + end + end extend Searchkick::Reindex include Searchkick::Similar diff --git a/lib/searchkick/search.rb b/lib/searchkick/search.rb deleted file mode 100644 index a91f219..0000000 --- a/lib/searchkick/search.rb +++ /dev/null @@ -1,14 +0,0 @@ -module Searchkick - module Search - - def search(term, options = {}) - query = Searchkick::Query.new(self, term, options) - if options[:execute] == false - query - else - query.execute - end - end - - end -end diff --git a/lib/searchkick/similar.rb b/lib/searchkick/similar.rb index 52c5ab7..0ccb99d 100644 --- a/lib/searchkick/similar.rb +++ b/lib/searchkick/similar.rb @@ -12,7 +12,7 @@ module Searchkick options[:where][:_id][:not] = id.to_s options[:limit] ||= 10 options[:similar] = true - self.class.search(like_text, options) + self.class.send(Searchkick.search_method_name, like_text, options) end end -- libgit2 0.21.0