Sha256: d24fb56262ef95ad7e1ea7125292003619e354ddc880da43c0f6ea422feac2fe

Contents?: true

Size: 1.27 KB

Versions: 12

Compression:

Stored size: 1.27 KB

Contents

require 'library_stdnums'
require 'traject'
require 'traject/null_writer'
require 'traject/macros/marc21_semantics'

require 'traject/macros/marc_format_classifier'

require 'traject/solr_json_writer'
require 'traject/marc_reader'
require 'marc/fastxmlwriter'

class Blacklight::Marc::Indexer < Traject::Indexer::MarcIndexer
  autoload :Dewey, 'blacklight/marc/indexer/dewey'
  autoload :Formats, 'blacklight/marc/indexer/formats'

  include  Traject::Macros::Marc21Semantics
  include Traject::Macros::MarcFormats

  ATOZ = ('a'..'z').to_a.join('')
  ATOU = ('a'..'u').to_a.join('')

  def initialize
    super

    settings do
      provide "reader_class_name", "Traject::MarcReader"
      if c = Blacklight.connection_config
        provide "solr.url", c[:url]
      end
      provide "solr_writer.commit_on_close", "true"
      provide "solr_writer.thread_pool", 1
      provide "solr_writer.batch_size", 100
      provide "writer_class_name", "Traject::SolrJsonWriter"
      provide 'processing_thread_pool', 1
      provide "log.batch_size", 10_000
    end
  end

  def trim
    lambda do |record, accumulator|
      accumulator.each {|x| x.strip!}
    end
  end

  def get_xml options={}
    lambda do |record, accumulator|
      accumulator << MARC::FastXMLWriter.encode(record)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
blacklight-marc-8.1.4 lib/blacklight/marc/indexer.rb
blacklight-marc-8.1.3 lib/blacklight/marc/indexer.rb
blacklight-marc-8.1.2 lib/blacklight/marc/indexer.rb
blacklight-marc-8.1.1 lib/blacklight/marc/indexer.rb
blacklight-marc-8.1.0 lib/blacklight/marc/indexer.rb
blacklight-marc-8.0.0 lib/blacklight/marc/indexer.rb
blacklight-marc-7.2.0 lib/blacklight/marc/indexer.rb
blacklight-marc-7.1.1 lib/blacklight/marc/indexer.rb
blacklight-marc-7.1.0 lib/blacklight/marc/indexer.rb
blacklight-marc-7.0.1 lib/blacklight/marc/indexer.rb
blacklight-marc-7.0.0 lib/blacklight/marc/indexer.rb
blacklight-marc-7.0.0.rc1 lib/blacklight/marc/indexer.rb