Changeset 33
- Timestamp:
- 04/22/06 18:00:21 (3 years ago)
- Files:
-
- trunk/plugin/acts_as_ferret/lib/acts_as_ferret.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plugin/acts_as_ferret/lib/acts_as_ferret.rb
r31 r33 20 20 21 21 require 'active_record' 22 require 'ferret' 22 require_gem 'ferret', '=0.3.2' 23 #require 'rferret' 24 #require 'ferret' 23 25 24 26 # Yet another Ferret Mixin. … … 254 256 def find_by_contents(q, options = {}) 255 257 id_array = [] 258 scores_by_id = {} 256 259 find_id_by_contents(q, options).each do |element| 257 id_array << element[:id]258 end259 logger.debug "id_array: #{id_array.inspect}"260 id_array << id = element[:id].to_i 261 scores_by_id[id] = element[:score] 262 end 260 263 begin 261 264 if self.superclass == ActiveRecord::Base … … 271 274 logger.debug "REBUILD YOUR INDEX! One of the id's didn't have an associated record: #{id_array}" 272 275 end 273 logger.debug "Result id_array: #{id_array.inspect}, result: #{result}" 276 277 # sort results by score (descending) 278 result.sort! { |b, a| scores_by_id[a.id] <=> scores_by_id[b.id] } 279 280 logger.debug "Query: #{q}\nResult id_array: #{id_array.inspect},\nresult: #{result},\nscores: #{scores_by_id.inspect}" 274 281 return result 275 282 end
