require 'open-uri' require 'rexml/document' class SolrController < ApplicationController $select_url = 'http://localhost:8983/solr/select/' def index @search = request[:q] if @search != nil raw_results = open("#{$select_url}?q=#{@search}&indent=on").read xml_results = REXML::Document.new raw_results @results = [] REXML::XPath.each(xml_results, '//result/doc') do |doc| @results.push({ :id => doc.elements['./str[@name="id"]'], :description => doc.elements['./str[@name="name"]'] }) end end end end