Module: RSolr::Uri
- Defined in:
- lib/rsolr/uri.rb
Class Method Summary collapse
-
.params_to_solr(params, escape = true) ⇒ String
Creates a Solr based query string.
Class Method Details
.params_to_solr(params, escape = true) ⇒ String
Creates a Solr based query string. Keys that have arrays values are set multiple times:
params_to_solr(:q => 'query', :fq => ['a', 'b'])
is converted to:
?q=query&fq=a&fq=b
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/rsolr/uri.rb', line 11 def self.params_to_solr(params, escape = true) return URI.encode_www_form(params.reject{|k,v| k.to_s.empty? || v.to_s.empty?}) if escape # escape = false if we are here mapped = params.map do |k, v| next if v.to_s.empty? if v.class == ::Array params_to_solr(v.map { |x| [k, x] }, false) else "#{k}=#{v}" end end mapped.compact.join("&") end |