It’s working here;
require ‘ferret’
include Ferret
include Ferret::Index
i = Index.new
i << {:a => “one”, :b => 1}
i << {:a => “two two”, :b => 2}
i << {:a => “three three three”, :b => 3}
i << {:a => “four”, :b => 4}
i.search_each("one two three four") do |d, s|
puts "#{s} => #{i[d]}"
end
# 0.0612355209887028 => Document {
# stored/uncompressed,indexed,tokenized,<b:1>
# stored/uncompressed,indexed,tokenized,<a:one>
# }
# 0.0612355209887028 => Document {
# stored/uncompressed,indexed,tokenized,<b:4>
# stored/uncompressed,indexed,tokenized,<a:four>
# }
# 0.0541250631213188 => Document {
# stored/uncompressed,indexed,tokenized,<b:2>
# stored/uncompressed,indexed,tokenized,<a:two two>
# }
# 0.0530315153300762 => Document {
# stored/uncompressed,indexed,tokenized,<b:3>
# stored/uncompressed,indexed,tokenized,<a:three three three>
# }
i.search_each("one two three four", :sort => :b) do |d, s|
puts "#{s} => #{i[d]}"
end
# 0.0612355209887028 => Document {
# stored/uncompressed,indexed,tokenized,<b:1>
# stored/uncompressed,indexed,tokenized,<a:one>
# }
# 0.0541250631213188 => Document {
# stored/uncompressed,indexed,tokenized,<b:2>
# stored/uncompressed,indexed,tokenized,<a:two two>
# }
# 0.0530315153300762 => Document {
# stored/uncompressed,indexed,tokenized,<b:3>
# stored/uncompressed,indexed,tokenized,<a:three three three>
# }
# 0.0612355209887028 => Document {
# stored/uncompressed,indexed,tokenized,<b:4>
# stored/uncompressed,indexed,tokenized,<a:four>
# }
i.search_each("one two three four",
{:sort => :b, :first_doc => 1, :num_docs => 2}) do |d,
s|
puts “#{s} => #{i[d]}”
end
# 0.0541250631213188 => Document {
# stored/uncompressed,indexed,tokenized,<b:2>
# stored/uncompressed,indexed,tokenized,<a:two two>
# }
# 0.0530315153300762 => Document {
# stored/uncompressed,indexed,tokenized,<b:3>
# stored/uncompressed,indexed,tokenized,<a:three three three>
# }