README.md in solrizer-3.4.1 vs README.md in solrizer-4.0.0

- old
+ new

@@ -1,19 +1,13 @@ # solrizer [![Build Status](https://travis-ci.org/projecthydra/solrizer.png?branch=master)](https://travis-ci.org/projecthydra/solrizer) [![Gem Version](https://badge.fury.io/rb/solrizer.png)](http://badge.fury.io/rb/solrizer) -A lightweight, configurable tool for indexing metadata into solr. Can be triggered from within your application, from -the command line, or as a JMS listener. +A lightweight tool for creating dynamic solr schema sufixes. -Solrizer provides the baseline and structures for the process of solrizing. In order to actually read objects from a -data source and write solr documents into a solr instance, you need to use an implementation specific gem, such as -"solrizer-fedora":https://github.com/projecthydra/solrizer-fedora, which provides the mechanics for reading from a -fedora repository and writing to a solr instance. - ## Installation The gem is hosted on [rubygems.org](https://rubygems.org/gems/solrizer). The best way to manage the gems for your project is to use bundler. Create a Gemfile in the root of your application and include the following: @@ -154,77 +148,9 @@ But now you may also pass an Descriptor instance if that works for you: indexer = Solrizer::Descriptor.new(:integer, :indexed, :stored) t.main_title(:index_as=>[indexer],:path=>"title", :label=>"title") { ... } - -### Extractor and Extractor Mixins - -Solrizer::Extractor provides utilities for extracting solr fields from objects or inserting solr fields into documents: - - > extractor = Solrizer::Extractor.new - > solr_doc = Hash.new - > extractor.format_node_value(["foo ","\n bar"]) - => "foo bar" - > extractor.insert_solr_field_value(solr_doc, "foo","bar") - => {"foo"=>"bar"} - > extractor.insert_solr_field_value(solr_doc,"foo","baz") - => {"foo"=>["bar", "baz"]} - > extractor.insert_solr_field_value(solr_doc, "boo","hoo") - => {"foo"=>["bar", "baz"], "boo"=>"hoo"} - -#### Solrizer provides some default mixins: - -`Solrizer::HTML::Extractor` provides html_to_solr method and `Solrizer::XML::Extractor` provides xml_to_solr method: - - > Solrizer::XML::Extractor - > extractor = Solrizer::Extractor.new - > xml = "<fields><foo>bar</foo><bar>baz</bar></fields>" - > extractor.xml_to_solr(xml) - => {:foo_tesim=>"bar", :bar_tesim=>"baz"} - -#### Solrizer::XML::TerminologyBasedSolrizer - -Another powerful mixin for use with classes that include the `OM::XML::Document` module is -`Solrizer::XML::TerminologyBasedSolrizer`. The methods provided by this module map provides a robust way of mapping -terms and solr fields via om terminologies. A notable example can be found in `ActiveFedora::NokogiriDatatstream`. - -## JMS Listener for Hydra Rails Applications - -### The executables: solrizer and solrizerd - -The solrizer gem provides two executables: - - * solrizer is a stomp consumer which listens for fedora.apim.updates and solrizes (or de-solrizes) objects accordingly. - * solrizerd is a wrapper script that spawns a daemonized version of solrizer and handles start|stop|restart|status requests. - -### Usage - -The usage for solrizerd is as follows: - - solrizerd command --hydra_home PATH [options] - -The commands are as follows: - * start start an instance of the application - * stop stop all instances of the application - * restart stop all instances and restart them afterwards - * status show status (PID) of application instances - -Required parameters: - ---hydra_home: this is the path to your hydra rails applications' root directory. Solrizerd needs this in order to load all your models and corresponding terminoligies. - -The options: - * -p, --port Stomp port 61613 - * -o, --host Host to connect to localhost - * -u, --user User name for stomp listener - * -w, --password Password for stomp listener - * -d, --destination Topic to listen to (default: /topic/fedora.apim.update) - * -h, --help Display this screen - -Note: - -Since the solrizer script must fire up your hydra rails application, it must have all the gems installed that your hydra instance needs. ## Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix.