Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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 of the details and should be considered a starting point for testing using 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

...

  • Fedora 4 is running on port 8080 at context "fcrepo" (with JMS listening on events published at port 61616)
  • Your Fedora 4 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. Create a resource or 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 can verify that the transform service is enabled by navigating to the following URL in a web browserhttp://localhost:8080/fcrepo/rest/collection/fcr:transform/default

    You should see a json document such as:

    No Format[{"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

Code Block
languagebash
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 furthermore hereinafter referenced as $SOLR_HOME.

...

Code Block
languagebash
wget http://archive.apache.org/dist/karaf/4.0.25/apache-karaf-4.0.25.tar.gz
tar xvzf apache-karaf-4.0.25.tar.gz

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

Start Karaf

...

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

    No Format
            __ __                  ____      
           / //_/____ __________ _/ __/      
          / ,<  / __ `/ ___/ __ `/ /_        
         / /| |/ /_/ / /  / /_/ / __/        
        /_/ |_|\__,_/_/   \__,_/_/         
      Apache Karaf (4.0.2)
    
    
    karaf@root()>
  • Note, to exit the Karaf client shell, type:

    "ctrl d"

     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

...

Camel Toolbox

Install Toolbox

In the Karaf client shell type the following:

Code Block
languagebash
feature:repo-add mvn:org.fcrepo.camel/toolbox-features/4.56.12/xml/features
feature:install fcrepo-service-activemq
feature:install fcrepo-indexing-solr

Verify - Toolbox Installation

Still in the Karaf client shell, the following command, should...

Code Block
languagebash
feature:list|grep fcrepo

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

No Format
fcrepo-camel                            | 4.4.13            |          | Started     | fcrepo-camel-4.4.13
fcrepo-indexing-solr                    | 4.56.12            | x        | Started     | toolbox-features-4.6.2
fcrepo-ldpath                           | 4.6.2            |          | Started     | toolbox-features-4.5.1.6.2
fcrepo-service-ldcache-file             | 4.6.2            |          | Started     | toolbox-features-4.6.2
fcrepo-marmotta-osgi                    | 4.6.2            |          | Started     | toolbox-features-4.6.2

Verify - LDPath

  1. 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
  2. Assuming the resource is named "collection", you should be able to verify that the LDPath service is enabled by navigating to the following URL in a web browser: http://localhost:9086/ldpath/collection
    1. You should see a JSON document such as:

      Code Block
      [{"extent":[],"references":[],"prev":[],"altLabel":[],"type":["http://fedora.info/definitions/v4/repository#Container","http://fedora.info/definitions/v4/repository#Resource","http://www.w3.org/ns/ldp#Container","http://www.w3.org/ns/ldp#RDFSource"],"narrowMatch":[],"relation":[],"accrualMethod":[],"notation":[],"id":["http://localhost:8080/fcrepo/rest/collection"],
      ...
      "lastModifiedBy":["bypassAdmin"],"prefLabel":[],"alternative":[],"label":[],"accessTo":[],"createdBy":["bypassAdmin"],"hiddenLabel":[],"comment":[],"accessRights":[],"sameAs":[]
      }]

Configure Toolbox

The main configuration of the "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 either of the above are true, edit the configuration file (For configuration details, please refer to the documentation found at the fcrepo-indexing-solr github page. If you updated the $KARAF_HOME/etc/org.fcrepo.camel.indexing.solr.cfg), updating the following elements as necessary:

...

file, it is quite likely that you will also need to update the $KARAF_HOME/etc/org.fcrepo.camel.ldpath.cfg file, particularly the sections related to Fedora location and authorization. Please refer to the fcrepo-ldpath page on github for configuration details.

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:

...