Module: Solrizer::XML::Extractor
- Defined in:
- lib/solrizer/xml/extractor.rb
Instance Method Summary collapse
- #extract_tag(doc, type) ⇒ Object
- #extract_tags(text) ⇒ Object
-
#xml_to_solr(text, solr_doc = Solr::Document.new) ⇒ Object
This method extracts solr fields from simple xml.
Instance Method Details
#extract_tag(doc, type) ⇒ Object
13 14 15 16 17 |
# File 'lib/solrizer/xml/extractor.rb', line 13 def extract_tag(doc, type) = doc.elements["/fields/#{type}"] return {} unless {type => .text.split(/,/).map {|t| t.strip}} end |
#extract_tags(text) ⇒ Object
8 9 10 11 |
# File 'lib/solrizer/xml/extractor.rb', line 8 def (text) doc = REXML::Document.new( text ) extract_tag(doc, 'archivist_tags').merge(extract_tag(doc, 'donor_tags')) end |
#xml_to_solr(text, solr_doc = Solr::Document.new) ⇒ Object
This method extracts solr fields from simple xml
22 23 24 25 26 27 28 29 |
# File 'lib/solrizer/xml/extractor.rb', line 22 def xml_to_solr( text, solr_doc=Solr::Document.new ) doc = REXML::Document.new( text ) doc.root.elements.each do |element| solr_doc << Solr::Field.new( :"#{element.name}_t" => "#{element.text}" ) end return solr_doc end |