class GeoHydra::Solr
API for uploading Solr
documents
Public Class Methods
new(url)
click to toggle source
@param [String] url to solr server
# File lib/geohydra/solr.rb, line 11 def initialize(url) @solr = url.nil? ? nil : RSolr.connect(:url => url) ap @solr @geo_metadata = [] end
Public Instance Methods
add(xml)
click to toggle source
# File lib/geohydra/solr.rb, line 17 def add(xml) if xml.is_a? Dor::GeoMetadataDS @geo_metadata << xml else @geo_metadata << Dor::GeoMetadataDS.from_xml(xml) end end
commit()
click to toggle source
# File lib/geohydra/solr.rb, line 40 def commit @solr.commit end
delete_all()
click to toggle source
# File lib/geohydra/solr.rb, line 44 def delete_all @solr.delete_by_query '*:*' commit end
reset()
click to toggle source
# File lib/geohydra/solr.rb, line 36 def reset @geo_metadata = [] end
upload(optimize = false)
click to toggle source
# File lib/geohydra/solr.rb, line 25 def upload(optimize = false) @geo_metadata.each do |ds| unless ds.nil? puts "Uploading #{ds.title}" @solr.add ds.to_solr end end commit @solr.optimize if optimize end