Old Release

This documentation covers an old version of Fedora. Looking for another version? See all documentation.

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

  • Fedora 4 is running on port 8080 at context "fcrepo" (with JMS events published at port 61616)
  • Your Fedora instance has the transform service enabled. Since the transform service is not available in the core Fedora webapp, you will likely need to use the Fedora Webapp Plus.

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

  • you should be presented with some ASCII art in your terminal and
  • you should be put into the Karaf client shell, such as:

            __ __                  ____      
           / //_/____ __________ _/ __/      
          / ,<  / __ `/ ___/ __ `/ /_        
         / /| |/ /_/ / /  / /_/ / __/        
        /_/ |_|\__,_/_/   \__,_/_/         
      Apache Karaf (4.0.2)
    
    
    karaf@root()>
  • Note, to exit the Karaf client shell, type: CTRL-D. This will stop the Karaf server, ending the indexing process.

  • To run Karaf as a system service please refer to the Karaf Service Wrapper documentation.

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:

  • Your Solr is deployed at a URL different than the one detailed earlier in this document
  • Your Fedora is deployed at a URL different than the one detailed earlier in this document
  • Your Fedora has Authorization enabled, e.g. WebAC

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:

  • Fedora log (unless configured otherwise): /var/log/tomcat8/catalina.out
  • Solr log: $SOLR_HOME/example/logs/solr.log
  • Karaf log: $KARAF_HOME/data/log/karaf.log

 

  • No labels