Search code examples
ruby-on-railsruby-on-rails-3elasticsearchtire

get random result of Tire::Results::Collection


I have inside this variable @results a Tire::Results::Collection with many results.

How can I get 1 random result of this Tire::Results::Collection

Thanks!


Solution

  • On Ruby 1.9, just use the Array#sample method:

    p [1, 2, 3].sample
    
    # -----
    
    require 'tire'
    s = Tire.search { query { all } }
    
    p s.results.to_a.sample