Hi, I''m having a problem with acts_as_ferret and the :filter_proc option that gets passed to ferret::search. Let me preface this with being a ferret/AaF noob. The situation: I am trying to extend the search functionality of a website that has already been built. I understand that ferret isn''t (or doesn''t seem to be) designed for numerical value searches, but at the moment it seems that it would be easier to try to get it to work rather than completely rebuild the search. We have a number of products, and they have numerical values associated to certain attributes. For example, a pair of shoes might have a trendiness value of 50. If someone searched for trendiness:50 then those shoes would show up. But we want it to show up even if trendiness:55 is the query. I figured doing a range search would take care of that (Can aaf do ranged queries?) The problem is that if a user searches for trendiness:55 and there are two hits, one a pair of shoes with trendiness:50 and another with trendiness:45, The first shoes should have a higher score. I figure that passing a search a :filter_proc that looks at the searcher object, calculates the distance between search query and value and then return a float to weight the score would do the trick. I just can''t seem to get that to work. Ignoring the rangedQuery part, The following lines output the same results with the same scores: Product.find_id_with_contents("shoes") Product.find_id_with_contents("shoes", :filter_proc => lambda {|doc_id,score, searcher| return 0.5} Shouldn''t the 2nd version have halved the resulting ferret_scores of each result? thanks for the time, -Spencer -- Posted via http://www.ruby-forum.com/.