Sha256: 7d19a12c2422a4ae7e60d004473d959c4d3eb4e89d6e6ae35fb791247dd93388

Contents?: true

Size: 1.6 KB

Versions: 55

Compression:

Stored size: 1.6 KB

Contents

require 'om'
module Cul::Scv::Hydra::Solrizer::TerminologyBasedSolrizer
# copied from Solrizer::XML::TerminologyBasedSolrizer

  def self.included(klass)
    klass.send(:extend, ClassMethods)
  end
  
  # Module Methods
      
  module ClassMethods
  # Populate a solr document with solr fields corresponding to the given xml node
  # Field names are generated using settings from the term in the +doc+'s terminology corresponding to +term_pointer+
  # @param [Nokogiri::XML::Node] node to solrize
  # @param [OM::XML::Document] doc document the node came from
  # @param [Array] term_pointer Array pointing to the term that should be used for solrization settings
  # @param [Hash] (optional) solr_doc (values hash) to populate
    def solrize_node(node_value, doc, term_pointer, term, solr_doc = Hash.new, field_mapper = nil, opts = {})
      return solr_doc unless term.index_as && !term.index_as.empty?
      generic_field_name_base = OM::XML::Terminology.term_generic_name(*term_pointer)
      create_and_insert_terms(generic_field_name_base, node_value, term.index_as, solr_doc)
      if term_pointer.length > 1
        #hierarchical_field_name_base = OM::XML::Terminology.term_hierarchical_name(*term_pointer)
        #create_and_insert_terms(hierarchical_field_name_base, node_value, term.index_as, solr_doc)
      end
      if term.variant_of and term.variant_of[:field_base]
        #create_and_insert_terms(term.variant_of[:field_base], node_value, term.index_as, solr_doc)
        create_and_insert_terms(term.variant_of[:field_base], node_value, term.index_as, solr_doc)
      end
      solr_doc
    end

  end

end # module

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
cul_scv_hydra-0.22.6 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.22.5 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.22.4 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.22.3 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.22.2 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.22.1 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.22.0 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.8 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.7 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.6 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.5 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.4 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.3 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.2 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.21.0 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.20.1 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.20.0 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.19.5 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.19.4 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
cul_scv_hydra-0.19.3 lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb