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)