This guide will help you get up and running with a Fedora 4 instance whose updates are automatically indexed in a Solr repository.  This guide glosses over many details and should be considered a starting point for testing this feature.  The document assumes a POSIX operating system with cURL, a text editor, Java, and a download of Apache Solr 4.10.3.

Versions

Install and Start Fedora 4

Assumptions

Verify

  1. You should be able to view Fedora in a web browser at the following URL: http://localhost:8080/fcrepo/rest
  2. You should be able to create and navigate to an existing Fedora resource in the web browser, for example http://localhost:8080/fcrepo/rest/collection
  3. Assuming the resource is named "collection", you should be able to verify that the transform service is enabled by navigating to the following URL in a web browser: http://localhost:8080/fcrepo/rest/collection/fcr:transform/default
    1. You should see a JSON document such as:

      [{
        "created":["2016-06-01T18:04:41.859Z"],
        "has_parent":["http://localhost:8080/fcrepo/rest/"],
        "id":["http://localhost:8080/fcrepo/rest/collection"],
        "title":[],
        "last_modified":["2016-06-01T18:04:41.859Z"]
      }]

Install, Configure and Start Solr

Download Solr

wget http://archive.apache.org/dist/lucene/solr/4.10.3/solr-4.10.3.tgz
tar -xzvf solr-4.10.3.tgz

The location of your untarred Solr installation will be hereinafter referenced as $SOLR_HOME.

Update Solr schema

wget https://raw.githubusercontent.com/fcrepo4-exts/fcrepo4-vagrant-base-box/master/config/schema.xml
cp schema.xml $SOLR_HOME/example/solr/collection1/conf/

Start Solr

cd $SOLR_HOME/example
java -jar start.jar

Verify

Install and Start Karaf

Download Karaf

wget http://archive.apache.org/dist/karaf/4.0.2/apache-karaf-4.0.2.tar.gz
tar xvzf apache-karaf-4.0.2.tar.gz

The location of your untarred Karaf installation will be hereinafter referenced as $KARAF_HOME.

Start Karaf

cd $KARAF_HOME
./bin/karaf

Verify

After running the command above

Install, Configure and Start Fedora Messaging Application Toolbox

Install Toolbox

In the Karaf client shell type the following:

feature:repo-add mvn:org.fcrepo.camel/toolbox-features/4.5.1/xml/features
feature:install fcrepo-indexing-solr

Verify

Still in the Karaf client shell, the following command

feature:list|grep fcrepo

should result in both the fcrepo-camel and fcrepo-indexing-solr features being in the Started state

fcrepo-camel                            | 4.4.1            |          | Started     | fcrepo-camel-4.4.1
fcrepo-indexing-solr                    | 4.5.1            | x        | Started     | toolbox-features-4.5.1

Configure Toolbox

The configuration of the fcrepo-indexing-solr feature is found at: $KARAF_HOME/etc/org.fcrepo.camel.indexing.solr.cfg

You will need to make updates to this configuration file if any of the following are true:

If any of the above are true, edit the configuration file ($KARAF_HOME/etc/org.fcrepo.camel.indexing.solr.cfg), updating the following elements as necessary:

# If the fedora repository requires authentication, the following values can be set:
fcrepo.authUsername=
fcrepo.authPassword=
 
...

# The baseUrl for the fedora repository.
fcrepo.baseUrl=localhost:8080/fcrepo/rest
 
...
# The baseUrl for the Solr server. If using Solr 4.x or better, the URL should include
# the core name.
solr.baseUrl=localhost:8983/solr/collection1

Success

You should now be able to create/update/delete resources in your Fedora repository, and subsequently see them in your Solr index!

Resources

For debugging purposes, you may want to inspect the logs of the various applications: