Report abuse

Patch for acts_as_xapian by Overbryd in order to enable prefixed value range searching

# in lib/acts_as_xapian.rb line 173
                 if !@@values_by_number.include?(value[1])
                      if value[3] == :date 
                          value_range = Xapian::DateValueRangeProcessor.new(value[1])
                      elsif value[3] == :string 
                          value_range = Xapian::StringValueRangeProcessor.new(value[1])
                      elsif value[3] == :number
+# Yea this is what needs to be changed according to
+# http://xapian.org/docs/apidoc/html/classXapian_1_1NumberValueRangeProcessor.html#0dda2993abc6721c8ce30c5bdf500df2
+# We need this because we want to search on ranges with prefixes
+# value[0] == field
+# value[1] == numeric identifier for the xapian database
+# value[2] == prefix for queries
+# value[3] == type of the field
+                          value_range = Xapian::NumberValueRangeProcessor.new(value[1], value[2])
-                          value_range = Xapian::NumberValueRangeProcessor.new(value[1])
                      else
                          raise "Unknown value type '" + value[3].to_s + "'"
                      end

                      @@query_parser.add_valuerangeprocessor(value_range)