From ce793c51984a98c1279754e9bd8e4a464a137567 Mon Sep 17 00:00:00 2001 From: smix Date: Mon, 10 Jan 2011 03:26:01 +0300 Subject: [PATCH] utf8 characters bug fixed --- lib/mongoid_search/keywords_extractor.rb | 2 +- lib/mongoid_search/mongoid_search.rb | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/mongoid_search/keywords_extractor.rb b/lib/mongoid_search/keywords_extractor.rb index 6117ecd..e3e0b51 100644 --- a/lib/mongoid_search/keywords_extractor.rb +++ b/lib/mongoid_search/keywords_extractor.rb @@ -1,6 +1,6 @@ class KeywordsExtractor def self.extract(text) return [] if text.blank? - text.mb_chars.normalize(:kd).to_s.gsub(/[^\x00-\x7F]/,'').downcase.split(/[\s\.\-_:;'",]+/) + text.mb_chars.normalize(:kd).to_s.gsub(/[^[:alpha:]\s\.\-_:;'",]/,'').downcase.split(/[\s\.\-_:;'",]+/) end end \ No newline at end of file diff --git a/lib/mongoid_search/mongoid_search.rb b/lib/mongoid_search/mongoid_search.rb index 5cf34bd..02f347f 100644 --- a/lib/mongoid_search/mongoid_search.rb +++ b/lib/mongoid_search/mongoid_search.rb @@ -51,12 +51,13 @@ def search_relevant(query, options={}) scope_stack.inject{|a, b| a + b}.selector end - limit = options.delete(:limit) + options.delete(:limit) + options.delete(:skip) options.merge! :scope => {:keywords => keywords}, :query => query - - cursor = collection.map_reduce(map, reduce, options).find.sort(['value', -1]) - cursor = cursor.limit(limit) if limit - cursor + + res = collection.map_reduce(map, reduce, options) + + res.find.sort(['value', -1]) # Cursor end end