<commit_before># Traject::Horizon

Export MARC records directly from a Horizon ILS rdbms, either as serialized MARC,
or to then index to Solr.

traject_horizon is a plugin for [traject](http://github.com/jrochkind/traject), and
requires jruby to be installed.

Supports embedding copy/item holdings information in exported MARC.

Fairly high-performance, should have higher throughput than most existing
Horizon MARC export options, including the vendor-supplied Windows-only
'marcout'. There are probably opportunities for increasing performance
yet further with more development of multi-threaded processing.

## Installation

traject_horizon is a plugin for [traject](http://github.com/jrochkind/traject), which
needs to run under jruby. We recommend [chruby](https://github.com/postmodern/chruby)
for managing multiple ruby versions, see it's instructions for installing jruby. 

Then, with jruby active (`$ chruby jruby`), you can install both `traject`
and `traject_horizon` with:

    $ gem install traject traject_horizon

### Or, if using a Gemfile with your traject project

Add this line to your [traject project's Gemfile](https://github.com/jrochkind/traject/blob/master/doc/extending.md#or-with-bundler):<commit_msg>readme, mention bundler with Gemfile<commit_after># Traject::Horizon

Export MARC records directly from a Horizon ILS rdbms, either as serialized MARC,
or to then index to Solr.

traject_horizon is a plugin for [traject](http://github.com/jrochkind/traject), and
requires jruby to be installed.

Supports embedding copy/item holdings information in exported MARC.

Fairly high-performance, should have higher throughput than most existing
Horizon MARC export options, including the vendor-supplied Windows-only
'marcout'. There are probably opportunities for increasing performance
yet further with more development of multi-threaded processing.

## Installation

traject_horizon is a plugin for [traject](http://github.com/jrochkind/traject), which
needs to run under jruby. We recommend [chruby](https://github.com/postmodern/chruby)
for managing multiple ruby versions, see it's instructions for installing jruby. 

Then, with jruby active (`$ chruby jruby`), you can install both `traject`
and `traject_horizon` with:

    $ gem install traject traject_horizon

### Or, if using a bundler Gemfile with your traject project

Add this line to your [traject project's Gemfile](https://github.com/jrochkind/traject/blob/master/doc/extending.md#or-with-bundler):
{'fraction_non_alphanumeric': 0.07828181453231634, 'fraction_numerical': 0.0, 'mean_word_length': 5.357142857142857, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5334916', 'n_tokens_mistral': 745, 'n_tokens_neox': 686, 'n_words': 276}